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.php
  • private/ext/cron/ext.php
  • private/ext/cron/routes_panel.php
  • private/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 rvn keys: 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&lt;int, array{slug: string, label: string, command: string, interval: int, enabled: bool}&gt; $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&lt;int, mixed&gt; $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&lt;int, array{slug: string, label: string, command: string, interval: int, enabled: bool}&gt; $tasks Normalized tasks.