Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

show manual cron run's last time #27544

Merged
merged 7 commits into from
Oct 11, 2023
Merged

Conversation

earl-warren
Copy link
Contributor

  • Currently in the cron tasks, the 'Previous Time' only displays the previous time of when the cron library executes the function, but not any of the manual executions of the task.
  • Store the last run's time in memory in the Task struct and use that, when that time is later than time that the cron library has executed this task.
  • This ensures that if an instance admin manually starts a task, there's feedback that this task is/has been run, because the task might be run that quick, that the status icon already has been changed to an checkmark,
  • Tasks that are executed at startup now reflect this as well, as the time of the execution of that task on startup is now being shown as 'Previous Time'.
  • Added integration tests for the API part, which is easier to test because querying the HTML table of cron tasks is non-trivial.
  • Resolves https://codeberg.org/forgejo/forgejo/issues/949

(cherry picked from commit fd34fdac1408ece6b7d9fe6a76501ed9a45d06fa)

- Currently in the cron tasks, the 'Previous Time' only displays the
previous time of when the cron library executes the function, but not
any of the manual executions of the task.
- Store the last run's time in memory in the Task struct and use that,
when that time is later than time that the cron library has executed this
task.
- This ensures that if an instance admin manually starts a task, there's
feedback that this task is/has been run, because the task might be run
that quick, that the status icon already has been changed to an
checkmark,
- Tasks that are executed at startup now reflect this as well, as the
time of the execution of that task on startup is now being shown as
'Previous Time'.
- Added integration tests for the API part, which is easier to test
because querying the HTML table of cron tasks is non-trivial.
- Resolves https://codeberg.org/forgejo/forgejo/issues/949

(cherry picked from commit fd34fdac1408ece6b7d9fe6a76501ed9a45d06fa)
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Oct 9, 2023
@pull-request-size pull-request-size bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 9, 2023
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Oct 9, 2023
@silverwind silverwind added the backport/v1.21 This PR should be backported to Gitea 1.21 label Oct 9, 2023
@silverwind
Copy link
Member

Test failure is related:

        api_admin_test.go:301: 
            	Error Trace:	/home/runner/work/gitea/gitea/tests/integration/api_admin_test.go:301
            	Error:      	Not equal: 
            	            	expected: "26"
            	            	actual  : "28"

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Oct 10, 2023
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Oct 11, 2023
@lunny lunny enabled auto-merge (squash) October 11, 2023 05:27
@lunny lunny merged commit 1050d7a into go-gitea:main Oct 11, 2023
25 checks passed
@GiteaBot GiteaBot added this to the 1.22.0 milestone Oct 11, 2023
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Oct 11, 2023
- Currently in the cron tasks, the 'Previous Time' only displays the
previous time of when the cron library executes the function, but not
any of the manual executions of the task.
- Store the last run's time in memory in the Task struct and use that,
when that time is later than time that the cron library has executed
this task.
- This ensures that if an instance admin manually starts a task, there's
feedback that this task is/has been run, because the task might be run
that quick, that the status icon already has been changed to an
checkmark,
- Tasks that are executed at startup now reflect this as well, as the
time of the execution of that task on startup is now being shown as
'Previous Time'.
- Added integration tests for the API part, which is easier to test
because querying the HTML table of cron tasks is non-trivial.
- Resolves https://codeberg.org/forgejo/forgejo/issues/949

(cherry picked from commit fd34fdac1408ece6b7d9fe6a76501ed9a45d06fa)

---------

Co-authored-by: Gusted <[email protected]>
Co-authored-by: KN4CK3R <[email protected]>
Co-authored-by: silverwind <[email protected]>
@GiteaBot GiteaBot added backport/done All backports for this PR have been created and removed reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. labels Oct 11, 2023
silverwind added a commit that referenced this pull request Oct 11, 2023
Backport #27544 by @earl-warren

- Currently in the cron tasks, the 'Previous Time' only displays the
previous time of when the cron library executes the function, but not
any of the manual executions of the task.
- Store the last run's time in memory in the Task struct and use that,
when that time is later than time that the cron library has executed
this task.
- This ensures that if an instance admin manually starts a task, there's
feedback that this task is/has been run, because the task might be run
that quick, that the status icon already has been changed to an
checkmark,
- Tasks that are executed at startup now reflect this as well, as the
time of the execution of that task on startup is now being shown as
'Previous Time'.
- Added integration tests for the API part, which is easier to test
because querying the HTML table of cron tasks is non-trivial.
- Resolves https://codeberg.org/forgejo/forgejo/issues/949

(cherry picked from commit fd34fdac1408ece6b7d9fe6a76501ed9a45d06fa)

Co-authored-by: Earl Warren <[email protected]>
Co-authored-by: Gusted <[email protected]>
Co-authored-by: KN4CK3R <[email protected]>
Co-authored-by: silverwind <[email protected]>
Comment on lines +111 to +113
if prev.Before(task.LastRun) {
prev = task.LastRun
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Data race bug.

-> Fix data-race bug when accessing task.LastRun #27584

zjjhot added a commit to zjjhot/gitea that referenced this pull request Oct 12, 2023
* giteaofficial/main:
  [skip ci] Updated translations via Crowdin
  Keep filter when showing unfiltered results on explore page (go-gitea#27192)
  Don't show Link to TOTP if not set up (go-gitea#27585)
  Fix data-race bug when accessing task.LastRun (go-gitea#27584)
  Fix template bug (go-gitea#27581)
  Replace ajax with fetch, improve image diff (go-gitea#27267)
  Replace assert.Fail with assert.FailNow (go-gitea#27578)
  Fix the robots.txt path
  show manual cron run's last time (go-gitea#27544)
  fully replace drone with actions (go-gitea#27556)
  Revert "Simplify `contrib/backport` (go-gitea#27520)" (go-gitea#27566)
  Align ISSUE_TEMPLATE with the new label system (go-gitea#27573)
  Penultimate round of `db.DefaultContext` refactor (go-gitea#27414)
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Jan 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created backport/v1.21 This PR should be backported to Gitea 1.21 lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants