SOC 2021: Cronjobs - Week 6
In Week 6, the primary immediate goal was to get working lazy-triggered jobs and open a draft PR on the main Joomla! repository. For this I:
- Implemented a system plugin subscribing to the onAfterRespond event. This plugin was responsible for triggering jobs on site load, and contained all the logic for retrieving/updating job records and triggering the jobs themselves.
- Design the plugin API for triggering jobs, implement the CronRunEvent class.
- Implement a CronjobPluginTrait to provide boilerplate code to interact with the Cronjobs Plugin API.
- Added functional support for cron-style execution rules through a new composer dependency for `dragonmantank/cron-expression` and extending the ExecutionRulesHelper class.
- Added functional job plugins - one to make (get) requests and another to change the offline status status as viability tests.
- Miscellaneous bugfixes and improvements to get things ready for a PR on the main repo.
- Opened a draft PR on the main Joomla! repository. The PR can be seen here.