By Tushar Malik on 2021-08-28 11:13 in Summer 2021 CronJobs

Tasks Accomplished

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.