aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_cron.lua
Commit message (Collapse)AuthorAgeFilesLines
* mod_cron: Make task frequencies configurable in overly generic mannerKim Alvefur2023-10-221-5/+4
| | | | Requested feature for many modules, notably MAM and file sharing.
* mod_cron: Remove unused import [luacheck]Kim Alvefur2023-10-151-1/+0
| | | | Use of datetime was removed in 6ac5ad578565
* mod_cron: Load last task run time inside task runner to fix asyncKim Alvefur2023-10-141-10/+28
| | | | | This ensures that all interactions with storage happen inside an async thread, allowing async waiting to be performed in storage drivers.
* mod_cron: Revert bbd3ac65640dKim Alvefur2023-07-301-4/+0
| | | | | | | Maybe it is better to run daily and weekly tasks 'now' on the theory that people set these things up during times that are appropriate for maintenance already, so the same time next day or next week might be fine for periodic cleanup.
* plugins: Prefix module imports with prosody namespaceKim Alvefur2023-03-241-2/+2
|
* mod_cron: Fix recording last task run time #1751Kim Alvefur2022-05-051-0/+1
| | | | | | | The type checks, they do nothing! Observed: Tasks that were supposed to run weekly or daily were running each hour.
* mod_cron: Allow for a small amount of timer driftKim Alvefur2022-01-151-1/+1
| | | | | | | | | If the timer activates a bit early then a task might be just a few seconds short of being allowed to run. This would run such a task rather than wait another hour. The value 0.5% chosen so that a weekly task does not run an entire hour earlier than last time.
* mod_cron: Expose the One Timer via module environmentKim Alvefur2021-12-041-1/+1
| | | | | This makes it easier to reschedule or otherwise manipulate the timer from e.g. the shell, which is handy for debugging.
* mod_cron: Add a 'weekly' job frequencyKim Alvefur2021-12-031-1/+1
|
* mod_cron: Initialize timestamp of new tasks to start of periodKim Alvefur2021-12-031-2/+2
| | | | | Makes it more generic so new periods (e.g. weekly etc) can be added easily.
* mod_cron: Follow convention of imports at the topKim Alvefur2021-12-031-1/+2
|
* mod_cron: Initialize daily tasks so they run around midnight UTCKim Alvefur2021-12-031-0/+4
| | | | | | Eventually the goal is to have daily tasks run while there is little activity, but that will vary with the server and the usage patterns of its users. This is a start anyway.
* mod_cron: Initial commit of periodic task runnerKim Alvefur2021-11-211-0/+59
A number of modules now have periodic tasks that need to run, e.g. for cleaning out old messages or files. This has highlighted a need for coordinating and optimizing scheduling of such tasks.