Frage

Perhaps I'm missing something obvious (and it is a Friday), but is there a way to do the equivalent of an os.fork() on a greenlet? I'm not necessarily looking to fork the process, I'm looking to take the greenlet and run one set of code, then another, but with independent scopes (as with os.fork()).

Any ideas or should I just get some sleep?

War es hilfreich?

Lösung

In order to conceptually fork a greenlet, just create another greenlet wrapping your "child function". I also highly recommend gevent, which is built on greenlet. The gevent code has a fork() method, but it forks the Python process and then restarts gevent in the child. I bet that you can implement whatever you are doing in gevent with more readable code than just greenlet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top