Should you need to specify the module version, do it using <version>.
Usage
The Scheduler module can be used to execute any configured command at
regular intervals. For example, it can:
Publish or unpublish a promotional web page on a specific date.
Import content from an external source into a Magnolia workspace.
Send emails on specific days.
Delete specified forum messages or threads.
Synchronize target and source instances.
Execute a custom command.
Configuration
The Scheduler module is used to execute commands that are typically
configured in other modules. See Commands for
more.
Scheduled tasks are configured in modules/scheduler/config/jobs.
Example: demo job that activates the /news page hourly.
jobs
required
Jobs node.
<job name>
required
Name of the job.
params
optional
Parameters node.
<parameters>
required/optional
Parameters passed to the command. Depends on the command. For example,
the publish command expects to receive a repository name and a
content path, and the generatePlanetData command used by the
RSS Aggregator
module, expects only a repository parameter.
CRON
expression that sets the scheduled execution time. For example,
0 0 1 5 11 ? 2010 means run on November 5th, 2010 at 01:00 am, as
opposed to 0 0 1 5 11 ? *, which will run annually on Nov 5th at
01:00 am.
In a clustered configuration one or more workspaces is stored in a
shared, clustered storage. See
Clustering for more. Cluster
nodes (Magnolia instances) access the clustered workspace rather than
their own workspaces. This can lead to a situation where multiple
scheduled jobs attempt to access the same content simultaneously and a
lockup occurs. To avoid this situation, identify the cluster nodes and
run the job on only one node.
Set the magnolia.clusterid property in the magnolia.properties
file of the cluster node. The file is in the
/<CATALINA_HOME>/webapps/<contextPath>/WEB-INF/config/default folder.
The property value can be a literal cluster name such as public123
(magnolia.clusterid=public123) or a variable such as ${servername}.
To configure the job to run on the identified cluster node, go to
/modules/scheduler/jobs and edit the job configuration.
Under the params node, add a clusterId property and set the value
to match the magnolia.clusterId of the cluster node where you want to
run the job.
Job configurations are stored in the config workspace. If you want to
run a particular job on all cluster nodes you would have to cluster the
config workspace so that all instances can read the configuration or
create the same job configuration on all cluster nodes. This can be time
consuming. As a workaround, configure the job once on a clustered
instance without the clusterId property. This has the effect that the
job will run on all cluster nodes.