Search by

phpsoftbox / scheduler

Scheduler component for the PhpSoftBox framework

Maintainers

Package info

github.com/phpsoftbox/scheduler

pkg:composer/phpsoftbox/scheduler

Transparency log

Statistics

Installs: 81

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-09-02 14:14 UTC

This package is auto-updated.

Last update: 2026-09-02 14:14:44 UTC


README

About

phpsoftbox/scheduler — планировщик задач с cron-выражениями и удобным API для расписаний. Позволяет регистрировать задания и запускать их только в нужное время.

Ключевые свойства:

  • Scheduler для регистрации задач и запуска по расписанию
  • ScheduledTask для настройки расписаний
  • ScheduledGroup для групповых расписаний
  • CronExpression для проверки времени
  • поддержка DI для invokable-обработчиков
  • opt-in блокировки пересечений через withoutOverlapping()
  • атомарный onOneServer() для нескольких scheduler-реплик
  • подробный ScheduleResult и изоляция ошибок отдельных задач
  • PSR-20 clock для детерминированного времени
  • запуск CLI-команд через command()
  • опциональная интеграция с Queue

Quick Start

use DateTimeImmutable;
use PhpSoftBox\Scheduler\Scheduler;

$scheduler = new Scheduler();

$scheduler->run(function (DateTimeImmutable $time): void {
    // задача каждые 5 минут
})->every(5)->minutes();

$scheduler->dispatch(new DateTimeImmutable('now'));

Для production/HA передайте атомарный ScheduleLockStoreInterface. Обычный PSR-16 cache остаётся совместимым single-process fallback, но его контракт не позволяет гарантировать атомарность между репликами.

Оглавление