Lecteur Markdown
SCHEDULER_DOCUMENTATION_EN
Feature: Scheduler #
Scheduled task management (cron jobs) via a web interface. Create, edit, enable/disable and delete automated tasks without SSH access.
---
Installation and Configuration #
Via FTP: Upload the `scheduler/` directory into `/plugins/`.
Via package manager: Select `scheduler` from the available plugins list.
Paths:
- Main plugin: `/plugins/scheduler/scheduler.php`
- Configuration: `/plugins/scheduler/conf/scheduler.conf.inc.php`
- AJAX handler: `/plugins/scheduler/handlers/scheduler.mod.php`
Configuration parameters (`scheduler.conf.inc.php`):
| Variable | Default | Description |
|---|---|---|
| `$basedatadisplay` | `'yes'` | Display in management interface |
| `$basedisplevel` | `BASE_LEVEL_ADMIN` | Minimum required level |
| `$ftype` | `3` | Plugin type (system) |
| `CRON_LEVEL_ADMIN` | `BASE_LEVEL_ADMIN` | Level required for operations |
Required SQL table: `cron_jobs`
Table fields: `id`, `name`, `module`, `hour`, `enabled`, `backup_type`, `max_backups`, `about`.
---
Usage #
Interface #
- List of scheduled tasks with enabled/disabled status (AJAX toggle).
- Task create/edit form.
- Task deletion.
Validation Rules #
| Field | Constraint |
|---|---|
| `name` | Alphanumeric, hyphens and underscores, minimum 3 characters |
| `module` | Must end with `.mod.php`, `.php` or `.dta` |
| `hour` | Integer between 0 and 23 |
---
Hooks and Entry Points #
AJAX Handler (`scheduler.mod.php`) #
| Action | Method | Description |
|---|---|---|
| `toggle` | GET | Enables or disables a task (`?id=X`) |
| `save` | POST | Creates or updates a task |
| `delete` | GET | Deletes a task (`?id=X`) |
---
Dependencies #
- `Beamreactor\Database\SQL` — CRUD on `cron_jobs`
- `Beamreactor\Sanitizer\Parser` — form field validation