mirror of
1
Fork 0
forgejo/models
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
..
actions Reduce unnecessary DB queries for Actions tasks (#25199) 2023-07-24 06:11:27 +00:00
activities Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
admin Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
asymkey Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
auth Upgrade go dependencies (#25819) 2023-07-14 11:00:31 +08:00
avatars Avoid warning for system setting when start up (#23054) 2023-02-24 18:23:13 +08:00
db Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
dbfs Fix content holes in Actions task logs file (#25560) 2023-06-28 19:07:29 +02:00
fixtures Fix incorrect oldest sort in project list (#25806) 2023-07-11 20:47:50 +02:00
git Remove commit status running and warning to align GitHub (#25839) 2023-07-21 16:24:36 +08:00
issues Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
migrations Reduce unnecessary DB queries for Actions tasks (#25199) 2023-07-24 06:11:27 +00:00
organization Remove unused code (#25734) 2023-07-06 21:52:41 +00:00
packages Test if container blob is accessible before mounting (#22759) 2023-07-09 11:24:43 +00:00
perm some less naked returns (#25682) 2023-07-04 15:52:33 +00:00
project Fix incorrect oldest sort in project list (#25806) 2023-07-11 20:47:50 +02:00
pull refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
repo For API attachments, use API URL (#25639) 2023-07-10 09:31:19 +00:00
secret Support configuration variables on Gitea Actions (#24724) 2023-06-20 22:54:15 +00:00
shared/types Display owner of a runner as a tooltip instead of static text (#24377) 2023-05-12 08:43:27 +00:00
system Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
unit Rewrite logger system (#24726) 2023-05-21 22:35:11 +00:00
unittest Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
user Fix inconsistent user profile layout across tabs (#25625) 2023-07-06 18:59:24 +00:00
webhook Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
error.go Sync branches into databases (#22743) 2023-06-29 10:03:20 +00:00
fixture_generation.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
fixture_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
main_test.go Merge setting.InitXXX into one function with options (#24389) 2023-05-04 11:55:35 +08:00
migrate.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
migrate_test.go Add context parameter to some database functions (#26055) 2023-07-22 22:14:27 +08:00
org.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
org_team.go Remove org users who belong to no teams (#24247) 2023-04-24 15:52:38 -04:00
org_team_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
org_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_collaboration.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
repo_collaboration_test.go Rename `repo.GetOwner` to `repo.LoadOwner` (#22967) 2023-02-18 20:11:03 +08:00
repo_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_transfer.go Fix unclear `IsRepositoryExist` logic (#24374) 2023-04-28 14:14:26 -04:00
repo_transfer_test.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00