Agenda Agenda Cronjob

Agenda can be controlled by a cronjob command.

Executing the cronjob command

The cronjob command can be executed from the command line with

php /path/to/your/modx/installation/assets/components/agenda/cron.php

or with an external webcronjob using the following url:

https://your.domain/assets/components/agenda/cron.php?cronjob_id=xxx

The value xxx has to be filled with the random string in the MODX system setting agenda.cronjob_id

The cronjob command tasks

The cronjob command will run three different tasks:

Normally the feeds and the repeating events are refreshed together when no property is set for the cronjob command. To run a single task you can use the property mode=feed or mode=repeating for the cronjob:

php /path/to/your/modx/installation/assets/components/agenda/cron.php mode=feed

or

https://your.domain/assets/components/agenda/cron.php?cronjob_id=xxx&mode=feed

Refresh the feeds task

All active feeds are refreshed. New events of a feed are created, existing events of a feed are changed and no longer existing events of a feed are removed.

Refresh the repeating events task

Per default each repeating event is only repeated to the maximum count of the agenda.repeating_max_occurance system setting. The refresh of the repeating events creates new repeats from the current date until the maximum count of the agenda.repeating_max_occurance system setting. So there will be no inifinite creation of repeats but the repeats will not stay at the limit, when the repeating event was created. Only events after the last existing repeating event are created and old (maybe edited) repeats are not changed.

Import events task

With the property mode=import new events can be imported into Agenda with a cronjob. The cronjob call has to use the full filepath in the file property.

php /path/to/your/modx/installation/assets/components/agenda/cron.php mode=import file=/path/to/the/file

or

https://your.domain/assets/components/agenda/cron.php?cronjob_id=xxx&mode=import&file=/path/to/the/file

The import uses the same code as the import events button in the events tab of the custom manager page. The import mode is append. The import can be overridden in an Agenda module.

Debug the cronjob

To detect cronjob issues, you can enable the Agenda system setting agenda.debug. The file {core_path}/cache/logs/agenda.log will then contain a lot of debug information. Per default cronjob errors are logged in the standard MODX error log.