forgejo/models/migrations
sillyguodong f5c7d4cfdd
Reduce unnecessary DB queries for Actions tasks (#25199)
Close #24544

Changes:

- Create `action_tasks_version` table to store the latest version of
each scope (global, org and repo).
- When a job with the status of `waiting` is created, the tasks version
of the scopes it belongs to will increase.
- When the status of a job already in the database is updated to
`waiting`, the tasks version of the scopes it belongs to will increase.
- On Gitea side, in `FeatchTask()`, will try to query the
`action_tasks_version` record of the scope of the runner that call
`FetchTask()`. If the record does not exist, will insert a row. Then,
Gitea will compare the version passed from runner to Gitea with the
version in database, if inconsistent, try pick task. Gitea always
returns the latest version from database to the runner.

Related:

- Protocol: https://gitea.com/gitea/actions-proto-def/pulls/10
- Runner: https://gitea.com/gitea/act_runner/pulls/219
2023-07-24 06:11:27 +00:00
..
base
fixtures
v1_6
v1_7
v1_8
v1_9
v1_10
v1_11 Less naked returns (#25713) 2023-07-07 05:31:56 +00:00
v1_12
v1_13 Less naked returns (#25713) 2023-07-07 05:31:56 +00:00
v1_14 Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
v1_15 Less naked returns (#25713) 2023-07-07 05:31:56 +00:00
v1_16
v1_17
v1_18
v1_19
v1_20
v1_21 Reduce unnecessary DB queries for Actions tasks (#25199) 2023-07-24 06:11:27 +00:00
migrations.go Reduce unnecessary DB queries for Actions tasks (#25199) 2023-07-24 06:11:27 +00:00