[Twisted-Python] non-blocking interface for local file system operations

Henrik Thostrup Jensen thostrup at gmail.com
Thu Aug 9 03:58:07 MDT 2007


Hi

On 8/9/07, Eduardo Schettino <schettino72 at gmail.com> wrote:

>
> Is there an asynchronous wrapper for local file system operation
> (i.e. write a file to disk)?


I don't think there is anything that works out of the box. I think there is
a python wrapper for posix aio somewhere, but AFAIK it is not integrated
into twisted in any way.

And I guess using deferToThread is not the right approach for I/O
> operations.
>

Usually writes take _very_ little time. The data is only copied to kernel
space and control is returned. The data is then written to disk later.
Reading will probably be a bit more problematic, but it will still take
little time compared to (common) network IO.

I suggest starting with just doing writes and reads directly and if it
becomes a problem, then start to solve it. You can create a small file
wrapper which returns a defer (just use return defer.succeed() and then
change the implementation if it becomes necessary.

-- 
   - Henrik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20070809/59224403/attachment.html>


More information about the Twisted-Python mailing list