Extension: cron
Generated by php build/docs/rvn-docs.php. Do not edit this file by hand.
Manifest
| Field | Value |
| --- | --- |
| slug | cron |
| name | Scheduled Tasks |
| description | Deploy automated background tasks through Raven's built-in scheduling service. |
| type | system |
| author | Novelty Lanterns |
| homepage | https://lanterns.io/raven |
| docs | https://lanterns.io/raven |
Provider Files
private/ext/cron/cron.phpprivate/ext/cron/ext.phpprivate/ext/cron/routes_panel.phpprivate/ext/cron/schema.php
Component Directories
private/ext/cron/lib/private/ext/cron/tpl/
Route And Service Dependency Map
private/ext/cron/routes_panel.php
- File-level
rvnkeys:config,csrf,extension_services,input,panel_editor_blocks,panel_site_data,root,scheduler,view - File-level context keys:
currentUserTheme,extensionServices,panelUrl,requirePanelLogin,rvn - Extension service keys:
service - Extension service dirs:
cron
| Method | Path | Handler | Captures | Inferred Dependencies |
| --- | --- | --- | --- | --- |
| GET | /cron | inline-closure | pullFlash, pullOldRows, renderView, requirePanelLogin, rvn, service | context:currentUserTheme, context:requirePanelLogin, rvn:*, service:service, symbol:$service |
| POST | /cron/save | inline-closure | flash, indexPath, requirePanelLogin, rvn, service, storeOldRows | context:requirePanelLogin, rvn:*, service:service, symbol:$service |
Library Symbols
| Symbol | Kind | Summary | @return |
| --- | --- | --- | --- |
| Raven\Ext\Cron\CronShellRunner::__construct() | method | (No summary.) | (No @return.) |
| Raven\Ext\Cron\CronShellRunner::mustRun() | method | Executes one shell command and throws on failure. | array{ok: bool, exit_code: int, stdout: string, stderr: string, command: string} |
| Raven\Ext\Cron\CronShellRunner::run() | method | Executes one shell command and returns the captured process result. | array{ok: bool, exit_code: int, stdout: string, stderr: string, command: string} |
| Raven\Ext\Cron\CronTaskService::__construct() | method | (No summary.) | (No @return.) |
| Raven\Ext\Cron\CronTaskService::blankTask() | method | Returns one blank row for the panel repeater. | array{slug: string, label: string, command: string, interval: int, enabled: bool, lastrun: int\|null, nextdue: int\|null, overdue: bool} |
| Raven\Ext\Cron\CronTaskService::listTasks() | method | Returns all saved task rows. | array<int, array{slug: string, label: string, command: string, interval: int, enabled: bool}> |
| Raven\Ext\Cron\CronTaskService::runTaskBySlug() | method | Runs one enabled task by slug when the scheduler fires it. | void |
| Raven\Ext\Cron\CronTaskService::saveTasks() | method | Persists one full replacement task list. | void |
| Raven\Ext\Cron\CronTaskService::schedulerJobs() | method | Returns one scheduler job definition per enabled saved task. | array<int, array{name: string, interval: int, run: callable}> |
| Raven\Ext\Cron\CronTaskService::storagePath() | method | Returns the extension-local crontab storage path. | string Absolute JSON file path. |
| Raven\Ext\Cron\CronTaskService::tasksForPanel() | method | Returns saved tasks decorated with scheduler status for panel display. | array<int, array{slug: string, label: string, command: string, interval: int, enabled: bool, lastrun: int\|null, nextdue: int\|null, overdue: bool}> |
| Raven\Ext\Cron\CronTaskService::validateSubmittedTasks() | method | Validates and sanitizes submitted panel rows. | array{ |
| Raven\Ext\Cron\CronTaskService::void() | method | (No summary.) | (No @return.) |
| Raven\Ext\Cron\CronTaskStore::__construct() | method | (No summary.) | (No @return.) |
| Raven\Ext\Cron\CronTaskStore::load() | method | Loads all stored task rows from disk. | array<int, array{slug: string, label: string, command: string, interval: int, enabled: bool}> |
| Raven\Ext\Cron\CronTaskStore::path() | method | Returns the underlying JSON storage path. | string Absolute file path. |
| Raven\Ext\Cron\CronTaskStore::save() | method | Replaces the stored task list on disk. | void |
Parameter Details
Raven\Ext\Cron\CronShellRunner::__construct()
- File:
private/ext/cron/lib/Cron/CronShellRunner.php - Params:
string $binary Shell binary used to execute task commands.
Raven\Ext\Cron\CronShellRunner::mustRun()
- File:
private/ext/cron/lib/Cron/CronShellRunner.php - Params:
string $command Shell command body.string $cwd Working directory for the command.
Raven\Ext\Cron\CronShellRunner::run()
- File:
private/ext/cron/lib/Cron/CronShellRunner.php - Params:
string $command Shell command body.string $cwd Working directory for the command.
Raven\Ext\Cron\CronTaskService::__construct()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
string $root Project root path.CronTaskStore $store JSON-backed task store.CronShellRunner $runner Shell execution helper.
Raven\Ext\Cron\CronTaskService::blankTask()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
(none)
Raven\Ext\Cron\CronTaskService::listTasks()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
(none)
Raven\Ext\Cron\CronTaskService::runTaskBySlug()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
string $slug Saved task slug.
Raven\Ext\Cron\CronTaskService::saveTasks()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
array<int, array{slug: string, label: string, command: string, interval: int, enabled: bool}> $tasks Normalized tasks.
Raven\Ext\Cron\CronTaskService::schedulerJobs()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
(none)
Raven\Ext\Cron\CronTaskService::storagePath()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
(none)
Raven\Ext\Cron\CronTaskService::tasksForPanel()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
SchedulerRegistry|null $scheduler Active scheduler when available.
Raven\Ext\Cron\CronTaskService::validateSubmittedTasks()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
array<int, mixed> $rawRows Submitted row payloads.callable(string, int): string $textSanitizer Text sanitizer from Raven input service.callable(string): string $slugSanitizer Slug sanitizer from Raven input service.callable(mixed, int, int): int|null $intSanitizer Integer sanitizer from Raven input service.
Raven\Ext\Cron\CronTaskService::void()
- File:
private/ext/cron/lib/Cron/CronTaskService.php - Params:
(none)
Raven\Ext\Cron\CronTaskStore::__construct()
- File:
private/ext/cron/lib/Cron/CronTaskStore.php - Params:
string $path Absolute path to the crontab JSON file.
Raven\Ext\Cron\CronTaskStore::load()
- File:
private/ext/cron/lib/Cron/CronTaskStore.php - Params:
(none)
Raven\Ext\Cron\CronTaskStore::path()
- File:
private/ext/cron/lib/Cron/CronTaskStore.php - Params:
(none)
Raven\Ext\Cron\CronTaskStore::save()
- File:
private/ext/cron/lib/Cron/CronTaskStore.php - Params:
array<int, array{slug: string, label: string, command: string, interval: int, enabled: bool}> $tasks Normalized tasks.