You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/routers/api/actions
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
2 years ago
..
ping Implement actions (#21937) 2 years ago
runner Reduce unnecessary DB queries for Actions tasks (#25199) 2 years ago
actions.go Refactor web package and context package (#25298) 2 years ago
artifacts.go Actions Artifacts support uploading multiple files and directories (#24874) 2 years ago
artifacts_chunks.go Actions Artifacts support uploading multiple files and directories (#24874) 2 years ago
artifacts_utils.go Actions Artifacts support uploading multiple files and directories (#24874) 2 years ago