-
Notifications
You must be signed in to change notification settings - Fork 252
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
Billiard is leaving pipes open #329
Comments
were you able to figure out the root of this in billiard? |
I use the following code to override multiprocessing imports in a 3rd party package (luigi) with biliard:
I performed 2 tests by running my luigi pipeline manually, outside of Celery. All code referencing billiard/multiprocessing is in luigi (version 3.0.2). I did not write multiprocessing code of my own. Edit: I originally misread you question, but will leave this here incase the information is useful. I did not figure out what code in billiard was causing the issue. |
How do you Please see, if you could help me in any way or direction with my question. |
@darkl1ght That is what is shown in the code in my comment above. That code needs to run before you import multiprocessing. WRT you stackoverflow question (I don't have enough rep to comment), I doubt that is a Celery issue. To my knowledge, billiards does not affect subprocess calls. Does the subprocess command fail when not using celery? |
I am using Celery to initiate long running pipelines and I override multiprocessing imports with Biliard. I notice as a pipeline runs, the number of open files (pipes) steadly increases and never decreases. This occurs until tens of thousands of pipes are opened and I get the error OSError: [Errno 24] Too many open files.
I ran this pipeline outside of Celery without overriding multiprocessing imports and this issue does not occur. Processes are spawned by Luigi workers and I am using the latest version of Celery.
The text was updated successfully, but these errors were encountered: