New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows compatibility #119
Conversation
This reverts commit 1f10fbd.
…ately installations
…r chocolately installations" This reverts commit aad7122.
Thanks for doing this! I didn't get a chance to look at these changes this weekend, but I'll try to do it this upcoming one. |
Hopefully the additional commits don't interrupt your review; I wanted to clean up a couple of things that I missed after my last round of changes. It looks like some of the RabbitMQ retry-after-delay tests fail intermittently. These are pretty substantial modifications to the main script so I expect them to need some additional work; let me know how I can help! |
Thanks again for doing this! I've reviewed your changes and made some of my own on top in #126 . Please take a look and let me know what you think. I'm going to sit on that PR for a bit because it breaks gevent support (as mentioned in one of your commits) and disabling thread patching is not acceptable since the reason you're likely to run gevent with dramatiq is because you want to run many worker threads concurrently. This PR seems like it may fix the issue but there's no real indication of when it's going to be ready so we might have to find a different solution in the mean time (maybe |
I originally converted the logging worker using multiprocessing.Pipes (see removal in #c890dfc) but dropped it in favor of the queue method because there is a native QueueHandler and the code was considerably uglier. It's easy enough for me to put this back in if you have a good Gevent-based workflow to test against. Assuming it works without omitting the threading monkeypatching, we can explore some way of cleaning the code up (subclassing a base handler?). I'll send another PR later this week and we can see how you'd like to proceed. |
Yes, let's try that. I have a couple large applications I could test it on. Also, one thing that's regressed with this change is |
Summary of changes:
__main__.py
intomain.py
to prevent picklability errors on Windows when spawning new processes (diffmain.py
with__main__.py
to see line-by-line edits)Known issues:
Gevent script is broken on Windows