You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@rbs-jacob Should this change be made for subprocess calls inside of fixtures and test cases too?
That seems less important to me. The main issue is that the subprocess calls currently block the event loop to unpack a filesystem, for example. This lag directly affects a user by fully blocking OFRAK concurrency for an inherently asynchronous operation, whereas the async concurrency is less meaningful in the tests. This is because the tests are either run fully serially, or explicitly concurrently using multiprocessing via pytest.
Many components use
subprocess
to make calls to external programs via the command line. These are currently blocking, non-asynchronous calls.The
asyncio.create_subprocess_exec
andasyncio.create_subprocess_shell
functions represent anasyncio
-compatible API for making subprocess calls that don't block the event loop. We should replace existingsubprocess
calls in OFRAK with async calls via this API.Which files would be affected?
Any file that uses a
subprocess
call. (ofrak_patch_maker
should not be updated since it is a synchronous package).Does the proposed maintenance include non-doc string functional changes to the Python code?
Yes (see above)
Are you interested in implementing it yourself?
No -- this is a great first contributor issue!
The text was updated successfully, but these errors were encountered: