Closed paulocheque closed 1 year ago
could you try new 3.6.0 release?
celery 4.2.1 has requirement billiard<3.6.0,>=3.5.0.2, but you'll have billiard 3.6.0.0 which is incompatible.
We're running celery 4.2.1 on billiard 3.6.0 and it works fine. 👍
@auvipy Not sure why you closed this, I was just responding to @paulocheque saying that you cannot use billiard 3.6.0 with celery 4.2.1. This seems like we should be updating the requirements in Celery though...
@paulocheque Have you solved this problem?
I just forced to use the newest version of Celery and Billiard but I don't think the problem was completely solved.
Also, yes, they really need to release a new version to avoid this kind of lib dependency error.
Hey all, anybody know what the latest is with this?
I am using:
billiard==3.6.3.0
celery==4.4.7
and getting this when I call proc.join(timeout=1)
Simple reproduction using billiard==3.6.4.0
:
from billiard import Queue, Process
import time
errors: Queue = Queue()
process = Process(target=lambda: time.sleep(5))
process.start()
process.join(1)
process.join(2) # Fails here
multiprocessing
allows multiple join
s, but this library calls close
inside join
here.
I think it should not, but this line of code is 8 years old! or maybe it should close inside the preceding if
, so it only close
-s if the process has completed?
Compare with the multiprocessing
implementation of join
here: https://github.com/python/cpython/blob/3.11/Lib/multiprocessing/process.py#L142
billiard==3.5.0.5
OSX 10.14.2
Py 3.6
Hello, any ideas about this exception? Thanks in advance!