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
Improve Hub/Scheduler when no engines are registered #1391
Conversation
Previously, tasks submitted when no engines were registered were left in the upstream ZMQ queue. This prevented the tasks being entered into the Hub's database.
instead of raising NoEngines
as described in Client.db_query docstring, buffers should be excluded by default, but this wasn't actually the case.
I haven't tested this, but the changes are pretty simple. Just want to clarify the behavior:
These behaviors looks good. |
Yes, that's correct. You could submit tasks with no engines before, the only change there is that they will show up in the Hub's db immediately, rather than hanging out in the upstream ZMQ buffer without notifying anyone. And queue_status with no engines will now succeed, returning a dict with exactly one key, enumerating these unassigned tasks (this key existed before, but engine validation prevented the request from happening): In [4]: rc.queue_status(verbose=True)
Out[4]: {u'unassigned': [u'74b2645f-c84d-4fcf-84fb-e44706e269c2']} |
Great, I like this approach a lot. I would say merge away! On Thu, Feb 9, 2012 at 12:39 PM, Min RK
Brian E. Granger |
Improve Hub/Scheduler when no engines are registered 1. Tasks are pulled into the schedule, rather than left on the ZMQ queue, which means they enter the database. 2. queue_status will not raise NoEngines when there aren't any, instead it will still fetch the available information. Bug fixed in db_query, where behavior did not match docstring (buffers should be excluded if no keys are specified). closes #826 (again)
Works for me so far, except that deletion of tasks doesn't seem to work. See #1400 for more information. |
Improve Hub/Scheduler when no engines are registered 1. Tasks are pulled into the schedule, rather than left on the ZMQ queue, which means they enter the database. 2. queue_status will not raise NoEngines when there aren't any, instead it will still fetch the available information. Bug fixed in db_query, where behavior did not match docstring (buffers should be excluded if no keys are specified). closes ipython#826 (again)
Bug fixed in db_query, where behavior did not match docstring (buffers should be excluded if no keys are specified).
closes #826 (again)