Closed colearendt closed 4 years ago
This makes sense, but unfortunately no so simple to implement. The tasks make some assumptions about the package libraries being on the local machine, and the event loop can only handle processx subprocesses at this point. It is pretty hard to extend revdepcheck beyond the local machine.
Yeah, that makes sense - thank you! The good thing is that the launcher jobs implementation actually uses an NFS share to keep the file system in sync. I am using launcher jobs for this behavior now, but I can only run a single container for the whole revdepcheck in the current setup (versus a container per worker / task).
LMK if it'd ever be helpful to have a walkthrough of what it looks like!
Unfortunately, I think this is out of scope for revdepcheck for the time being. If you (specifically) need to check many revdeps you can use #247)
Poking through the code a bit, it looks like the notion of "tasks" is how the workers actually get spawned / managed. If it is possible to either
(1) create a generic
tasks
R6 class that has the appropriate methods (farming those out toprocessx
by default) for task management (2) allowprocessx
to implement a more generic task backendThat would be great! Then I would expect users could provide their own tasks implementation, etc. Specifically, I am thinking about the following backends:
revdepcheck
access to many more resources than are available otherwise for parallelism. Further, we get some nice functionality within the IDE to manage thisIf this issue belongs upstream in
processx
, I'm happy to move it there!