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
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
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
system Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
unit
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
fixture_test.go
main_test.go
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
org_team.go
org_team_test.go
org_test.go
repo.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_collaboration.go
repo_collaboration_test.go
repo_test.go
repo_transfer.go
repo_transfer_test.go