Message249077
| Author |
Jonas Obrist |
| Recipients |
Jonas Obrist, jnoller, sbt |
| Date |
2015年08月24日.21:56:57 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1440453417.53.0.719490146876.issue24927@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
So the reason this is happening is very simple:
When using Pool.apply, the task (function) is sent to the task queue, which is consumed by the worker. At this point the task is "in progress". However, the worker dies without being able to finish the task or in any other way tell the Pool that it can't finish the task. The actual process is then ended by the Pool but the task is still in limbo, so any attempt at getting a result will hang forever.
I'm not sure there's a straight forward way to solve this (the ways I can think of from the top of my head involve adding quite a bit of overhead to the Pool so it keeps track of which process/worker is handling which task at a given time, so if it exits prematurely this task can be finished), but at the very least this case should be documented I think. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2015年08月24日 21:56:57 | Jonas Obrist | set | recipients:
+ Jonas Obrist, jnoller, sbt |
| 2015年08月24日 21:56:57 | Jonas Obrist | set | messageid: <1440453417.53.0.719490146876.issue24927@psf.upfronthosting.co.za> |
| 2015年08月24日 21:56:57 | Jonas Obrist | link | issue24927 messages |
| 2015年08月24日 21:56:57 | Jonas Obrist | create |
|