6b8ae19ba5
Use advance() instead of split_to()
2023-08-14 14:01:34 +02:00
2620530cc2
Implement queue task deletion
2023-08-14 12:41:47 +02:00
7f975a1fd0
Implement more /admin/queue/* endpoints
2023-08-14 12:23:22 +02:00
1da946be10
Fix recurring task crash
...
It would fail when inserting a commit into the queue that was already in
the queue, instead of just skipping that commit.
2023-08-14 12:23:22 +02:00
2b6c339c70
Port queue page
2023-08-14 12:23:22 +02:00
a36b188938
Port index page
2023-08-13 23:06:05 +02:00
3bfae9c0ad
Port worker page
2023-08-13 23:02:18 +02:00
36f275c290
Use / as separator character instead of .
2023-08-13 23:02:18 +02:00
2fee0a618c
Count file stats by dir
2023-08-13 23:02:18 +02:00
55ea5af779
Count file stats ordered by file name
2023-08-13 22:59:45 +02:00
cf8ab2884f
Show finished runs
2023-08-13 22:59:45 +02:00
98132cc00b
Link without creating a Base
2023-08-13 21:26:06 +02:00
373b3168f1
Port commit page
2023-08-13 21:26:06 +02:00
db0234b750
Start page reorganization
2023-08-13 20:50:06 +02:00
1ead78d44f
Make static file links typesafe
2023-08-13 20:49:48 +02:00
e64ea7ac12
Make most links typesafe
2023-08-13 20:49:48 +02:00
30ddf1e9b2
Ensure web_base does not end in /
2023-08-13 19:57:28 +02:00
18e35184a5
Prepare more type-safe linking
2023-08-13 19:53:49 +02:00
4ccf06db8b
Use typed paths for all endpoints
2023-08-13 19:30:52 +02:00
058ed2e85c
Move typed paths to separate module
2023-08-13 19:30:52 +02:00
3d5a277234
Use typed paths in worker
2023-08-13 16:13:59 +02:00
88d9a1f818
Move worker api to server::web::api::worker
2023-08-13 16:04:48 +02:00
087ecfd783
Move /commit/:hash/enqueue to /admin/queue/add
2023-08-13 15:56:34 +02:00
08e240d7db
Fix and add documentation
2023-08-13 01:16:12 +02:00
0bad08eca9
Perform runs with internal bench logic
2023-08-12 21:40:14 +02:00
0196709a64
Make RunInProgress fields private
2023-08-12 21:23:36 +02:00
b7c0443005
Ask servers for runs and perform them
2023-08-12 21:23:36 +02:00
eaca373a6a
Prevent status update race condition
2023-08-12 21:23:36 +02:00
e644f2be65
Send actual runner status to server
2023-08-12 21:23:36 +02:00
c7a89867a7
Restructure shared types and db columns
...
Now, the server sends the runner pretty much all run metadata. This way,
the reservation the server makes for the runner is accurate, providing
the runner responds with the same metadata it was sent. It also means
that only the server's system clock is relevant for tie breakers, and a
run's duration spans from the moment it is reserved to the moment it is
saved.
Also, the bench method is now always called `bench_method` and a
human-readable description is stored in the database for each run.
2023-08-12 21:23:36 +02:00
53be0338f2
Launch idle thread for each server
2023-08-12 21:23:36 +02:00
4f63b02509
Fix and simplify tar downloads
2023-08-12 19:19:43 +02:00
81328fcf04
Start reimplementing worker
2023-08-12 19:19:43 +02:00
22efa5bfc9
Save work before fetching queue
2023-08-12 14:34:03 +02:00
416e3e6aa1
Implement internal runner
2023-08-12 14:21:48 +02:00
d15d6588f7
Improve and fix runner API
...
- The server now also signals abort_work if the commit is no longer in
the queue.
- The server now immediately reserves the work it gives to the worker,
so other idle workers won't get the same work.
- The server now chooses a run id, not the worker. The worker can still
submit work under arbitrary run ids when no id is known, for example
when importing runs from another database.
2023-08-12 13:19:16 +02:00
dd45be98a5
Add todo
2023-08-12 02:33:08 +02:00
9fc7c22ae8
Dispatch based on bench method
2023-08-12 02:26:15 +02:00
b23fc6460f
Start runs and coordinate with server
2023-08-12 02:16:05 +02:00
f79468c871
Fix incorrect HashSet import
2023-08-12 02:16:05 +02:00
cc87171f62
Download and unpack tars
2023-08-12 02:16:05 +02:00
3d959c703c
Add dash to id prefixes
2023-08-12 02:16:05 +02:00
9744d5c059
Add todos
2023-08-11 21:47:58 +02:00
48693d3f1c
Add "Enqueue" button to commits
2023-08-11 16:50:32 +02:00
5e0b8e3c8c
Store finished work in db
2023-08-11 15:16:20 +02:00
a9e08505bc
Stream repo and bench repo worktree tars
2023-08-11 14:42:39 +02:00
6f4793bcf2
Rename runners to workers
2023-08-11 02:12:38 +02:00
78f945647c
Add --local-runner cli flag
2023-08-11 02:12:38 +02:00
0ae43c608f
Ping server regularly
2023-08-11 02:12:38 +02:00
33607779b0
Poke server tasks in coordinator
2023-08-11 02:12:38 +02:00