Using Celery on Windows

I tried many times to make celery work,but finally had to use dramatiq. Only it, worked without any extra configuration. If you can share more details on how you get celery to work, I would be very thankful. Windows 10,Python 3.6. Using docker, ect is not an option.

are you working on it?

I would say that this is a good candidate to opening another topic, instead of using this conversation here.

If you’re using Docker, basically you won’t have much problems running celery on windows. Because celery will be running on the “docker virtual machine” that’s linux based.

It would be good to have more information about the issues you’re facing before giving any further advice. But the first thing I want to mention is that you’re using a kind old python version, 3.6 was released 11 years ago (2016) and it had reached “end-of-life” a while back. I would suggest that you upgrade your python version at least to a supported one, 3.9 is probably the best one to upgrade from your version, even though it will be end-of-life late this year. It’s a matter of what dependencies you’re using that might be compatible with newer versions.
You can check the available releases and their support on the python downloads website

I understand that it’s old. But upgrading is not an option. Because after you enter a upgrade cycle, you can’t stop, need to upgrade to every new python version, every new python package version. Only thing is going to be upgrading this and that. Also, if I use docker or other container software, it will solve the problem. But I’m asking about using celery on windows 10 with python 3.6. It doesn’t work with even simple task. Broker is Redis. If you fallow celery doc and try to use it on windows 10 it doesn’t work. They also mention that they dropped windows support. Still if there’s a way get it work, that would be interesting.

Pjrulez mentioned about prefork

.

Thanks.

Correct, upgrading is not an “option”.

Professionally, it’s a requirement. Failure to keep a public-facing service updated is negligent.

You are doing your customers / clients a disservice by not taking the responsible steps to helping to ensure the security of your systems.

I understand that. But if we check how much people use latest python version in production worldwide, I’m not sure if it will reach 75%.

Yes, but what percentage of those are creating internet-facing application, allowing them to be accessed by someone other than themselves? That group of people are irrelevant to the situation here.

Regardless - their vulnerabilities aren’t your problem - and in the case of data loss or exposure, not a defense under any circumstances. It’s small comfort to your bosses / clients / customers to know that you’re no worse than the bottom 25% out there. That’s hardly a selling point I’d want to advertise.

It appears that python releases new version every year. Are you suggesting we should upgrade every year? What if some package doesn’t support new python version?

Python supports releases with security fixes for 5 years. If you’re critically dependent upon a package that doesn’t get upgraded in that window, then you should reconsider your dependence upon that package.

Regular and on-going support and maintenance of your environment is the only responsible operational option.

You should at a minimum be testing and validating the new releases annually.

But I don’t see any use of this what-python-version-can-i-use-with-django if upgrading is so much mandatory.

So, does the celery work with latest python version on windows?

Officially, no. (For that matter, neither does Redis.)

However, a general web search will show you multiple articles showing how to get it to work.

(Personally, I have no knowledge in that area. I don’t need to work with Windows at all in the server environment - I find it’s just not worth the problems.)

It shows you what versions of Django work with which versions of Python. (As of right now, the oldest supported version of Python is 3.9, and Django 4.2 is the oldest supported release of Django - and will be supported for security fixes until April 2026.)

So, if you’re still on Django 4.2, you can’t upgrade to Python 3.13. If you want to use Python 3.13, then you need to be using Django 5.1 or 5.2.

But at a minimum, you should be on Python 3.9.

Yes, it’s a never-ending cycle. But then security is never a “one and done” situation - it’s an ongoing process requiring continuous work and vigilance.

Ok.

Thanks for the help.

If you manage to upgrade to python3.9 you might get a different result from where you started.
If you still get an error, let us know.