Tom Huibregtse
hmm, I've just double checked, and this is what I'm trying:
import inspect
...
@app.task(name="sleep")
def sleep():
print(inspect.getmodule(time.sleep))
time.sleep(0.5)
When I run this task through a Celery worker with the --pool=gevent option, I see this in the output:
14:11:15 worker.1 | [2023-12-15 14:11:15,316: WARNING/MainProcess] <module 'gevent.hub' from '/opt/homebrew/lib/python3.11/site-packages/gevent/hub.py'>
14:11:15 worker.1 | [2023-12-15 14:11:15,829: INFO/MainProcess] Task sleep[3728dc0f-f208-4a7a-a2ca-bbd71367bc0d] succeeded in 0.5130529159214348s: None
Which looks like time.sleep has been monkey patched.
I've pasted a gist of how I run this here:
gist.github.com/bstiel/a9c1951d28b01a99579c11ad76…
Do you mind sharing yours?
Tom Huibregtse
Software Engineer
For gevent, wouldn't you want to use gevent.sleep?