mod_cron - Execute scheduled commands
Requires: ejabberd 19.08 or higher
http://www.ejabberd.im/mod_cron
Author: Badlop
This module allows advanced ejabberd administrators to schedule commands for
periodic and automatic execution. This module is a similar concept than the
*nix's cron program. Obviously, the admin must know in advance which module,
function and arguments to use, so this module is not intended for starting
administrators.
Each time a scheduled task finish its execution, a message is printed in the
ejabberd log file.
BASIC CONFIGURATION
===================
Add the module to your ejabberd.yml, on the modules section:
modules:
mod_cron: {}
TASK SYNTAX
===========
Each task is described with five elements:
* Time is an integer.
* Units indicates the time unit you use. It can be: seconds, minutes, hours, days.
* Module and * Function are the exact call you want to schedule.
* Arguments is an array. Strings will be converted to binaries.
* timer_type is one of 'fixed' or 'interval'. Fixed timers occur at a fixed time
after the [minute|hour|day] e.g. every hour on the 5th minute (1:05PM, 2:05PM etc)
interval timers occur every interval (starting on an even unit) e.g. every 10 minutes
starting at 1PM, 1:10PM, 1:20PM etc.
Fixed timers are the equivalent of unix cron's comma syntax e.g. "2 * * *" and interval
timers are the / syntax e.g. "*/5 * * *".
Default timer_type is interval.
EXAMPLE TASKS
=============
Example configuration with some tasks:
modules:
mod_cron:
tasks:
- time: 3
units: hours
module: mnesia
function: info
arguments: {}
timer_type: fixed
- time: 10
units: seconds
module: ejabberd_auth
function: try_register
arguments:
- "user1"
- "localhost"
- "somepass"
timer_type: interval
EJABBERD COMMANDS
=================
This module provides two new commands that can be executed using ejabberdctl:
* cron_list: list scheduled tasks
* cron_del taskid: delete this task from the schedule
WEB ADMIN
=========
This module provides a page in the Host section of the Web Admin.
Currently that page only allows to view the tasks scheduled for that host.