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.