pricingassistant / mrq

Mr. Queue - A distributed worker task queue in Python using Redis & gevent
MIT License
877 stars 123 forks source link

Python 3 support #15

Open sylvinus opened 10 years ago

sylvinus commented 10 years ago

Not an explicit goal ATM.

Will wait for full gevent support first: https://github.com/surfly/gevent/issues/38

sylvinus commented 9 years ago

gevent 1.1 will have proper Python 3 support, which unblocks this issue.

If someone needs this and wants to make a patch, maybe with six, we'll happily review and merge but we won't do it ourselves for now.

tume commented 8 years ago

Also seems that mrq needs supervisor which does not support python 3 (yet).

Any other blocking issues now that gevent has python 3 support?

PAStheLoD commented 8 years ago

Just FYI, supervisor (the master branch) works pretty well with Python3 (the issues are related to supervisorctl https://github.com/Supervisor/supervisor/labels/python%203 and other non-critical functions).

sylvinus commented 8 years ago

MRQ only uses the supervisord binary to manage the --processes option, so as long as the binary is available on the system (even if it uses python2) this will work: https://github.com/pricingassistant/mrq/blob/master/mrq/bin/mrq_worker.py#L59

As I said earlier, I will happily review a PR to add python 3 support but I just don't have the time or incentive to do it for now.

AlJohri commented 8 years ago

For any future readers you can install the development version of supervisor and gevent like below:

pip install "git+https://github.com/Supervisor/supervisor.git#egg=supervisor"
pip install gevent==1.1rc5

You'll need to change the requirements-base.txt to remove subprocess32. Or just add if sys.version_info >= (3, 2): reqs = [req for req in reqs if "subprocess32" not in req] into the get_requirements method of setup.py.

This will at least get the library installed. Then you can use 2to3 or six to start making the Python 3 conversion .... I started it in my local fork but its a bit too much for me right now.

sylvinus commented 8 years ago

Thanks for the pointers @AlJohri! Feel free to submit incremental pull requests, we'll definitely merge them if they improve compatibility!

Best,

tume commented 8 years ago

https://github.com/pricingassistant/mrq/pull/118

fernandocamargoai commented 7 years ago

I'm kind novice to Python and I'm starting to study Machine Learning. I was studying Celery, but I've found MRQ to suit my needs and it's much more simple. But after reading a lot about it, I'ven it's just for Python 2.7 and I'm using Python 3. It seems that after the above merge request, no new release of MRQ has been created. Is this project still maintened? And is it going to support Python 3?

AlJohri commented 7 years ago

https://github.com/pricingassistant/mrq/issues/122#issuecomment-289921108

sylvinus commented 6 years ago

Double check the setup.py tags to make sure 1.0.0 is python3-ready on PyPI