-
-
Notifications
You must be signed in to change notification settings - Fork 719
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
Scheduler.reschedule() does not work #6340
Comments
Correction: there is one test that triggers rescheduling from the worker, At the moment of writing, the call to reschedule() from the Worker does NOT work due to a mismatched function signature. A TypeError can be spotted in the log by eagle-eyed users.
|
CC @fjetter |
The reason why, when you raise Reschedule() in a task, the scheduler effectively reschedules the task is that:
Scheduler log (note the stimulus ids): - ('x1', 'released', 'waiting', {'x1': 'processing'}, 'update-graph-1656417887.9150004', 1656417887.9152453)
- ('x1', 'waiting', 'processing', {}, 'update-graph-1656417887.9150004', 1656417887.9161289)
- ('x1', 'processing', 'released', {'x1': 'waiting'}, 'worker-connect-1656417887.7426143', 1656417888.023502)
- ('x1', 'released', 'waiting', {'x1': 'processing'}, 'worker-connect-1656417887.7426143', 1656417888.0235095)
- ('x1', 'waiting', 'processing', {}, 'worker-connect-1656417887.7426143', 1656417888.0235472)
- ('x1', 'processing', 'memory', {}, 'task-finished-1656417888.223756', 1656417888.2246292) ... 🤔 ... I mean, if it works, don't touch it, amirite? 😆 😆 😆 😆 😆 |
I can no longer reproduce this |
We removed the worker reconnect in #6361 🤔 |
Well something is clearly calling |
Whoops. I just added a test for the edge case where a task raises Reschedule(), but the client has already released the future... and the worker state machine just horribly fell apart 🥳
|
Mistery solved: the original worker died and was not replaced. The |
Scheduler.reschedule() is called:
If you add "assert False" at the top of the method, only the tests that invoke it directly fail.
Notably, among them there's test_reschedule - in other words, there is nothing at the moment that tests that worker transitions and work stealing are successfully using the method.
The text was updated successfully, but these errors were encountered: