Создание сайтов и приложений
UFAMAG
450054, Республика Башкортостан,
г.Уфа, ул.Шафиева д.28
8(927)304-93-23

30.11.2025

#59

О проекте

Orbit — это легковесный воркер-супервайзер на PHP для обработки фоновых задач в production-среде. Система построена по принципам systemd, обеспечивая надежность и автоматическое восстановление процессов.

Программный стек

  • Backend: PHP 8.1+ (чистый PHP без фреймворков)
  • Хранение очередей: Redis 6+ с использованием Predis клиента
  • Система управления: systemd для запуска как системных сервисов
  • Веб-интерфейс: HTML/CSS/JavaScript с API на PHP
  • Зависимости: Composer (Predis, PSR HTTP interfaces)

Общая информация

Orbit представляет собой долгоживущий супервайзер, где каждый воркер работает как отдельный PHP-процесс, обрабатывающий тысячи задач без перезагрузки. В отличие от традиционных cron-задач или однократных скриптов, воркеры Orbit живут непрерывно, ожидая задач из Redis-очередей. Система интегрируется в любой PHP-проект и работает как production-ready решение для асинхронной обработки.

Функционал

Управление процессами

  • Многопроцессность: Каждый воркер может иметь несколько параллельных процессов (масштабирование через count)
  • Горячее масштабирование: Изменение количества процессов без остановки системы
  • Автоматический перезапуск: При падении воркера Orbit восстанавливает его автоматически

Работа с задачами

  • Отложенные задачи: Запуск через заданное время или в конкретное время суток
  • Повторяющиеся задачи: Автоматическое повторение с возможностью отмены по ключу
  • Несколько очередей: Поддержка приоритетов (fast/default/slow) в одном воркере
  • Обработка ошибок: Retry-механизм с лимитом попыток, перемещение в failed_jobs

Мониторинг и управление

  • Веб-интерфейс: Полный контроль через браузер (порт 8081) с аутентификацией
  • Мониторинг памяти: Отслеживание потребления RAM каждым процессом
  • Логирование: Детальные логи воркеров и системных событий
  • API управления: Программное управление через REST API

Интеграция

  • Гибкая архитектура: Воркеры могут использовать код основного приложения (автозагрузка, БД, API)
  • Конфигурация: JSON-файл для описания воркеров, очередей и параметров
  • Расширяемость: Простое добавление новых типов задач и обработчиков

Применение

Orbit идеален для:
  • Отправки email-уведомлений
  • Обработки платежей и webhook'ов
  • Генерации отчетов
  • Мониторинга систем
  • Любых асинхронных операций
Система сочетает простоту установки (2 скрипта для systemd) с мощными возможностями enterprise-уровня, обеспечивая стабильность и контроль в production-среде.