2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/data-service.git synced 2023-12-14 03:23:03 +01:00
Commit graph

23 commits

Author SHA1 Message Date
Christopher Baines
f2e2ca7a07 Use the connection pool for build events
I'm not sure why this wasn't the way it worked previously. This should avoid
unconstrained use of PostgreSQL connections.
2023-08-23 12:19:22 +01:00
Christopher Baines
7251c7d653 Stop using a pool of threads for database operations
Now that squee cooperates with suspendable ports, this is unnecessary. Use a
connection pool to still support running queries in parallel using multiple
connections.
2023-07-10 18:56:31 +01:00
Christopher Baines
5c9ec28cb5 Query for outputs when build events arrive
This will keep the substitute information more up to date.
2023-06-09 16:11:06 +01:00
Christopher Baines
7524d23b44 Make the build event handling code more generic
So that triggering a check for substitutes can be integrated in.
2023-06-06 12:32:53 +01:00
Christopher Baines
205f020950 Better guard against exceptions in the build event handlers 2022-11-19 09:46:16 +00:00
Christopher Baines
ed114265cd Handle deleting from blocked_builds when builds are scheduled
As scheduling a build might unblock others.
2022-11-12 11:42:26 +00:00
Christopher Baines
a34bf4defc Spawn specific PostgreSQL connections for the blocked_builds updates
So that the queries don't get cancelled by the statement timeout.
2022-11-12 10:46:46 +00:00
Christopher Baines
1fb291be40 Add support for incrementally tracking blocked builds
This will hopefully provide a less expensive way of finding out if a scheduled
build is probably blocked by other builds failing or being canceled.

By working this out when the build events are recieved, it should be more
feasible to include information about whether builds are likely blocked or not
in various places (e.g. revision comparisons).
2022-11-11 10:35:09 +00:00
Christopher Baines
1962b1f61c Fix missing NULL variable 2022-07-09 17:14:55 +01:00
Christopher Baines
788571f53f Set builds derivation output details set id if information available
The build event information can now contain the derivation outputs, as well as
the name of the derivation. This allows the Guix Data Service to join builds
up with derivations, even if it doesn't know about the derivation being built.
2022-07-08 13:48:08 +01:00
Christopher Baines
150d9c4390 Don't try to start a new transaction inside processing build events
As it uses a transaction with a wider scope.
2020-12-27 10:36:58 +00:00
Christopher Baines
efb26a616d Add a view build link on the build page 2020-10-21 19:26:18 +01:00
Christopher Baines
c3c9c07f9a Completely rework the way db connections are handled during requests
Previously, a connection was passed through the code handling the
request. When queries were performed, this could block the thread though,
potentially leaving the server unable to serve other requests.

Instead, this now runs queries in a pool of threads. This should remove the
possibility of blocking the threads used by the web server, and in doing so,
some of the queries have been parallelised.

I''m still not sure about the naming and syntax, but I think the functionality
is a sort of step forward.
2020-10-03 21:35:31 +01:00
Christopher Baines
1e0332136e Fix rendering the required failed builds for builds by id
Use the derivation-file-name from the database, rather than the query
parameter.
2020-07-13 19:12:09 +01:00
Christopher Baines
745a8bdbf1 Also show related failed builds for scheduled builds
Because the Guix Build Coordinator doesn't mark builds blocked by failures as
failed-dependency, they're just left as scheduled.
2020-07-13 18:55:07 +01:00
Christopher Baines
9192550331 Implement more support for builds from the Guix Build Coordinator
Builds from the Guix Build Coordinator might not have timestamps, and the id
from the build server is more important, as one build server can build the
same derivation many times.
2020-07-01 09:35:29 +01:00
Christopher Baines
6bc753dd0e Add a build servers page 2020-02-01 13:12:01 +01:00
Christopher Baines
c388f3ee13 Add a basic page for build servers 2020-01-05 12:01:06 +00:00
Christopher Baines
a019a5ed82 Improve the error handling for the build page 2019-12-16 20:43:16 +00:00
Christopher Baines
18504fba49 Show the possible failure reasons on the build page
When the build status is "Failed (dependency)".
2019-12-16 15:19:02 +00:00
Christopher Baines
308d1d7102 Add a page for each build 2019-12-16 15:18:14 +00:00
Christopher Baines
2d87bd6340 Add a page for each signing key 2019-12-12 20:07:22 +00:00
Christopher Baines
5663235048 Rework the builds and build_status tables as well as related code
Allow for build status information to be submitted by POST request. This
required some changes to the builds and build_status tables, as for example,
the Cuirass build id may not be available, and the derivation may not be know
yet, so just record the derivation file name.
2019-11-24 20:18:08 +00:00