summaryrefslogtreecommitdiff
path: root/distbuild/worker_build_scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* Note future improvement for fetching artifacts from remote cacheSam Thursfield2014-06-101-0/+3
|
* Move presence check for job into remove functionRichard Ipsum2014-06-041-6/+6
| | | | We always want to warn if we attempt to remove a job that's not present
* Add comment to explain the use of _JobFailed eventRichard Ipsum2014-06-041-0/+6
|
* Make Jobs finish when caching is completeRichard Ipsum2014-06-031-24/+24
| | | | | | | | | | If a new build request makes a request for an artifact that is currently being cached then the artifact will be needlessly rebuilt. To avoid this the new build request should wait for caching to finish. We rename _ExecStarted, _ExecEnded, _ExecFailed to _JobStarted, _JobFinished, _JobFailed and Job's is_building attribute is renamed to running.
* Make job fail if caching failsRichard Ipsum2014-06-031-0/+5
| | | | | This fixes the bug that causes the distbuild controller to crash when population of the artifact cache fails.
* Merge remote-tracking branch 'origin/sam/distbuild-logs-2'Sam Thursfield2014-05-141-0/+1
|\ | | | | | | | | Reviewed-By: Richard Ipsum <richard.ipsum@codethink.co.uk> Reviewed-By: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
| * distbuild: Include .build-log when copying chunk artifacts to the TroveSam Thursfield2014-05-141-0/+1
| | | | | | | | | | Users need to be able to see logs of all builds, not just those that failed.
* | Make distbuild put worker logs onto stdoutRichard Ipsum2014-05-141-0/+1
|/
* Add _ExecFailed eventRichard Ipsum2014-05-061-4/+24
| | | | To cancel jobs cleanly we need to know when a job has failed.
* Use messages to update job stateRichard Ipsum2014-05-061-3/+24
|
* Add cancelling to WorkerBuildSchedulerRichard Ipsum2014-05-061-13/+93
|
* Remove unused import and methodRichard Ipsum2014-05-061-3/+0
| | | | add_initiator() isn't necessary given lists have a remove method.
* Remove route mapRichard Ipsum2014-04-241-1/+0
|
* WorkerConnection: _maybe_handle_helper_resultRichard Ipsum2014-04-231-9/+4
| | | | | | | Put our _exec_response_msg into WorkerBuildFinished event, it's essentially the same as _finished_msg, just a different name Get our artifact's cache key from the job
* WorkerConnection: _request_cachingRichard Ipsum2014-04-231-9/+6
| | | | Now we just get everything from the job object
* WorkerConection: _handle_exec_responseRichard Ipsum2014-04-231-9/+8
| | | | | | | | | | | The exec_response_msg also needs to be sent to a number of initiators, so we give it a list of ids not just one. The exec_response_msg will be sent to the controller once the artifacts have been cached successfully. There's no longer any need to use a route map to retrieve the id of the initiator, since this is stored with the job
* WorkerConnection: _handle_exec_outputRichard Ipsum2014-04-231-2/+2
| | | | | msg now contains a list of initiator ids rather than a single one, since BuiltOutput needs to be sent to a number of initiators
* WorkerBuildQueuer: Use job's artifact and idRichard Ipsum2014-04-231-14/+17
| | | | | | Each job is given a unique id, so we don't need to generate an id for each exec request this means we can remove use of route map since we can use the job's id for the exec request
* Remove cancelRichard Ipsum2014-04-231-6/+1
| | | | This method no longer works, we will replace it soon.
* Change event names backRichard Ipsum2014-04-231-3/+3
| | | | | The name change from BuildFailed -> JobFailed etc was unintentionally merged into master, undo this.
* WorkerConnection: misc attributesRichard Ipsum2014-04-231-0/+6
| | | | | | _job is the job this worker is carrying out _exec_response_msg will contain the response the worker sends back to us when it finishes the build.
* WorkerBuildQueuer: replace request queue with jobsRichard Ipsum2014-04-231-25/+67
|
* Add Jobs and Job classesRichard Ipsum2014-04-231-10/+49
|
* Make WorkerBuildCaching carry a list of idsRichard Ipsum2014-04-231-5/+2
| | | | We need to be able to send this message to a number of initiators
* Add new build messages to worker build schedulerRichard Ipsum2014-04-231-2/+12
|
* Merge branch 'baserock/richardipsum/distbuild_improve_annotation3'Richard Ipsum2014-04-151-1/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: distbuild/build_controller.py Reviewed by: Lars Wirzenius Daniel Silverstone Sam Thursfield
| * Set body and headers in messageRichard Ipsum2014-04-111-1/+2
| | | | | | | | body and headers must now be specified for http-request message.
* | Fix lines longer than 80 characters (my fault)Sam Thursfield2014-04-141-2/+4
| |
* | distbuild: Consistently name all maybe_ message callbacksSam Thursfield2014-04-141-2/+2
| | | | | | | | | | | | | | | | | | There are cases where a state machine handles an event but stays in the same state. A callback is registered which filters messages further before possibly taking action. There have been bugs caused by this pattern being incorrectly implemented (where the callback is expected to filter the message, but a transition takes place anyway). Hopefully a consistent naming convention will make the pattern clearer.
* | distbuild: Label state machine transition tablesSam Thursfield2014-04-141-0/+2
| | | | | | | | Makes it easier to see what they mean at a glance.
* | distbuild: Log IPs of initiators and workers in more placesSam Thursfield2014-04-101-6/+8
|/ | | | This makes tracking multiple builds through one log file a bit easier.
* Transfer all chunk artifacts after they are builtRichard Ipsum2014-03-261-10/+15
| | | | | We want to be able to transfer all source artifacts in a single transaction
* Add the distbuild libsRichard Ipsum2014-03-211-0/+392