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

Henrik Thostrup Jensen thostrup at gmail.com
Thu Aug 9 05:58:07 EDT 2007


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: http://twistedmatrix.com/pipermail/twisted-python/attachments/20070809/59224403/attachment.htm 

More information about the Twisted-Python mailing list