-
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Scheduling #7
Comments
Given we are sticking to the model of having one worker run at a time due to costs, what do you think about moving the scheduling logic to the worker manager. It queries the backend server at intervals and when there's a response with a country to check, it starts a worker and manages its clean up too? The backend server is essentially going to be giving it entries to check. |
I don't understand the difference between the two options. Can you elaborate? |
I interpreted this to mean that it is the backend web server that would do the scheduling and thus know about the active workers.
-- EDIT -- |
What you describe is similar to what is in the ticket, for the part on the worker… but you're not explaining how the server is supposed to “give it a country to make a run against”. That's precisely the role of this ticket. See worker behavior in #8 which I believe matches your expectations. Now for the server to be able to request a run (mostly pick a country), it needs to know which countries can be tested. That's where there can be different approaches:
Both can work but with the second one, we loose control over the schedule and cannot say “we want 2 tests per day at most” for instance ; which might be something we want to not unnecessarily load the mirrors. WDYT? |
Okay, I think I understand it now. |
Scheduling is entirely done in the backend.
The backend knows about the Active workers (those that showed themselves within some interval –1h?) and thus the testable countries.
Schedule code is ran periodically:
Schedule clean-up is also ran periodically and consists in expiring Test requests for which data never arrived.
The text was updated successfully, but these errors were encountered: