Skip to content

Resolve "Writer timeouts, even after removing gevent"

Closes #4146 (closed)

os.statvfs can take several seconds which blocked the tango call scan_disk_space_warning. In Tango all calls to a device are serialized so the next call gave a 3 second timeout.

This was taken care of by bliss<2 but forgotten in bliss>=2.0. The code that solved this (referred to as "query pools") got moved a lot during the Bliss 2.0 refactoring. Now both pyicat-plus and blisswriter need it so I created a separate querypool project.

This MR provides a query pool instance to the still existing query_pool parameter of the writer API. This is done both for the internal and external writer (the querypool package supports gevent and non-gevent environments). In addition I added a test that mimics a slow os.statvfs by patching it.

Edited by Wout De Nolf

Merge request reports