Skip to content

[CRON] Cron Manager #306

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

Merged
merged 41 commits into from
May 3, 2024
Merged

[CRON] Cron Manager #306

merged 41 commits into from
May 3, 2024

Conversation

HB9HIL
Copy link
Contributor

@HB9HIL HB9HIL commented Apr 22, 2024

First draft of a Cron Manager.

This Cron approach redefines how cronjobs are handled in Wavelog. The idea is to replace all "single" jobs as we describe them currently in the Wiki through a single cronjobs which runs EVERY MINUTE (This is necessary for the included library to work properly.

I created a database table which contains various information about the cronjobs and which is used by the cron-expression library to analyse the cron expression and runs the jobs based on this expression.

Why should we do that:

  1. This gives us developers more flexibility to work on the functions which are currently used by the cronjobs. We can edit, add or remove such functions, without killing a remote instance.
  2. Admin can manage the intervalls of the "cronjobs" by theirself directly in the WebUI without necessary SSH access to the server.
  3. Especially for Docker Installations this is an much easier approach then bashing into a docker machine or mounting a crontab file in a volume.

This is still under construction. There is some work to do in the frontend and the possibility to edit the expressions. But the cronmanager is already working if you replace all existing cronjobs with the cronjob described in the view:

* * * * * curl --silent <URL to Wavelog>/index.php/cron/run &>/dev/null

@HB9HIL HB9HIL added enhancement New feature or request major impact Has a major impact on the code base labels Apr 22, 2024
@HB9HIL HB9HIL self-assigned this Apr 22, 2024
@HB9HIL HB9HIL marked this pull request as ready for review April 26, 2024 17:01
@HB9HIL
Copy link
Contributor Author

HB9HIL commented Apr 26, 2024

Ready 2 Review in a first manner. Excited to get some feedback

@HB9HIL HB9HIL merged commit f5d9406 into wavelog:dev May 3, 2024
@HB9HIL HB9HIL deleted the cronmanager branch May 3, 2024 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request major impact Has a major impact on the code base
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy