aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/jobs.scm
Commit message (Collapse)AuthorAge
* Don't start new jobs when there's low disk spaceChristopher Baines2024-03-11
|
* Add meaningful parallelism to processing jobsChristopher Baines2024-01-18
| | | | | | | | | | | Make parallel use of inferiors when computing channel instance derivations, and when extracting information about a revision. This should allow for some horizontal scalability, reducing the impact of additional systems for which derivations need computing. This commit also fixes an apparent issue with package replacements, as previously the wrong id was used, and this hid some issues around deduplication.
* Add missing empty job log entryChristopher Baines2023-11-05
|
* Handle eof when reading logsChristopher Baines2023-11-05
|
* Remove peekChristopher Baines2023-11-05
|
* Use fibers when processing new revisionsChristopher Baines2023-11-05
| | | | | | | | Just have one fiber at the moment, but this will enable using fibers for parallelism in the future. Fibers seemed to cause problems with the logging setup, which was a bit odd in the first place. So move logging to the parent process which is better anyway.
* Avoid logging when there are no processes to wait forChristopher Baines2023-03-09
|
* Allow skipping processing system testsChristopher Baines2023-02-08
| | | | | | | | | | | Generating system test derivations are difficult, since you generally need to do potentially expensive builds for the system you're generating the system tests for. You might not want to disable grafts for instance because you might be trying to test whatever the test is testing in the context of grafts being enabled. I'm looking at skipping the system tests on data.guix.gnu.org, because they're not used and quite expensive to compute.
* Don't count exiting with a status of 0 as a failureChristopher Baines2022-01-14
|
* Record job failure on non-0 exit statusChristopher Baines2022-01-12
| | | | | This is helpful when the jobs fail through Guile running out of memory for example.
* Improve the process jobs script signal handlingChristopher Baines2022-01-09
| | | | | The return value of sleep is unreliable (see guile bug #53139), so use a signal handler instead.
* Increase the default job processing timeoutChristopher Baines2022-01-09
|
* Increase the job timeoutChristopher Baines2021-02-10
| | | | | As for some jobs that take lots of time to compute and build the channel instance derivations, it can take more than 24 hours.
* Support customising the latest branch revision max processesChristopher Baines2020-02-28
| | | | | This makes it possible to set a higher or lower value depending on what you want.
* Add a few imports in preparation for Guile 3Christopher Baines2020-02-27
|
* Add copyright and license headers to a bunch of source filesChristopher Baines2019-12-26
| | | | That were missing them.
* Allow customising the maximum number of processesChristopher Baines2019-12-16
|
* Prioritise processing the latest revisions for branchesChristopher Baines2019-07-16
| | | | | | Reserve some capacity to process revisions which are the tip of a branch. This should reduce the time between new revisions appearing, and then being processed.
* Record jobs as failed when they are killedChristopher Baines2019-07-14
| | | | So that they aren't retried again and again.
* Kill long running load new revision jobsChristopher Baines2019-07-12
| | | | | | There are some revisions of Guix which take forever to process (or days at least). To avoid jobs being processed forever, kill them after they've been running for a while (default 24 hours).
* Switch to processing jobs in parallelChristopher Baines2019-07-12
| | | | | | This should speed up processing new revisions, reduce latency between finding out about new revisions and processing them, as well as help manage memory usage, by processing each job in a process that then exits.
* Improve the job processingChristopher Baines2019-04-10
| | | | Speed up checking for new jobs, and remove debugging output.
* More easily support stopping guix-data-service-process-jobsChristopher Baines2019-03-29
|
* Further improve load-new-guix-revision-jobsChristopher Baines2019-03-16
| | | | | | | | | Split the derivations up in to some groups, and run invalidate-derivation-caches! inbetween to try and reduce the memory usage. Also make a couple of other changes to reduce memory usage or protect against errors.
* Initial commitChristopher Baines2019-02-07
This is a service designed to provide information about Guix. At the moment, this initial prototype gathers up information about packages, the associated metadata and derivations. The initial primary use case is to compare two different revisions of Guix, detecting which packages are new, no longer present, updated or otherwise different. It's based on the Mumi project. [1]: https://git.elephly.net/software/mumi.git