Download the PHP package phpsoftbox/queue without Composer
On this page you can find all versions of the php package phpsoftbox/queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpsoftbox/queue
More information about phpsoftbox/queue
Files in phpsoftbox/queue
Package queue
Short Description Queue and worker component for the PhpSoftBox framework
License MIT
Informations about the package queue
PhpSoftBox Queue
About
phpsoftbox/queue — компонент очередей и воркера для PhpSoftBox. Включает минимальный контракт очереди, модель job, in-memory очередь и адаптер для работы с БД.
Ключевые свойства:
- контракт
QueueInterface - модель
QueueJobс попытками Workerс ретраями и обработкой ошибок; попытка учитывается при резервировании, поэтому задача, роняющая воркер (OOM, fatal), послеmaxAttemptsуходит в failed (QueueJobLostException), а не перезапускается вечноqueue:listenс корректной остановкой по SIGTERM/SIGINT и лимитами--max-jobs,--max-time,--memoryDatabaseDriverдля использования БД через компонент Database- поддержка приоритета и отложенной доступности (available_datetime)
- поддержка mutex-ключей на job для ограничения параллельных запусков
- запись задач, исчерпавших попытки, через
FailedJobStoreInterface - прогресс выполнения через
ProgressAwareInterface/ProgressStoreInterface - события жизненного цикла воркера:
before,after,onStatusChange - поддержка отмены для задач с флагом
is_cancellable - композиция application-level handlers через
CompositeQueueJobHandler
Quick Start
Очередь в БД:
Выбор хранилища прогресса
Очередь хранит задания, а progress-store — их состояние и запросы отмены. Это независимые настройки: memory-очередь не отключает прогресс автоматически.
Если progress_driver отсутствует, выбирается database, даже если driver=memory.
PHP null, пустая строка и неизвестные значения приводят к ошибке, не к fallback.
Для memory один и тот же экземпляр передают worker и всем читателям/отправителям
отмены; фабрика не кеширует объекты. Для раздельных процессов используйте database.
Подробнее: прогресс и отмена, переход на явный выбор хранилища.
Сброс состояния между задачами
Worker вызывает resetState после каждой задачи — успешной, упавшей или отменённой. Передайте туда общий хук
контейнера, чтобы задачи не видели кеши, identity map ORM и контекст предыдущих:
Ошибка сброса пишется в лог и не останавливает воркер.
Оглавление
- Документация
- About
- Quick Start
- Worker
- InMemory Queue
- Database Queue
- CLI
- DI
- Progress
- Composite Handler
- Обновление progress-store
All versions of queue with dependencies
phpsoftbox/clock Version ^1.0
phpsoftbox/database Version ^1.0
psr/event-dispatcher Version ^1.0
psr/log Version ^3.0