Cron-задачи
PulseHub использует cron-раннер (cron.php) для обработки фоновых задач — опрос почтовых ящиков, обработка автоматизаций, повторные попытки неудачных вебхуков и очистка старых данных.
Обзор
cron.php поддерживает два режима:
| Режим | Как работает | Лучше всего для |
|---|---|---|
| Web URL | Вызовите cron.php?token=YOUR_SECRET&job=all через браузер или панель хостинга | Виртуальный хостинг (cPanel, Plesk) |
| CLI | Запустите php cron.php all из терминала | VPS / выделенные серверы |
Доступные задачи:
| Задача | Описание |
|---|---|
all | Запускает все задачи последовательно |
email | Опрашивает активные IMAP email-каналы |
automations | Обрабатывает ожидающие события автоматизации |
webhooks | Повторяет неудачные события вебхуков |
cleanup | Удаляет старые события SSE/автоматизации/вебхуков |
Настройка — Виртуальный хостинг (cPanel / Plesk / DirectAdmin)
Вариант A: Cron на основе URL (рекомендуется)
- Войдите в панель хостинга
- Перейдите в Cron Jobs
- Установите расписание Каждую минуту (
* * * * *) - Вставьте:
wget -q -O /dev/null "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all"
Или используя curl:
curl -s "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all" > /dev/null 2>&1
Совет: Скопируйте полный URL из Настройки → URL Cron-задачи в PulseHub.
Вариант B: Cron на основе CLI
php /home/yourusername/public_html/cron.php all
Вариант C: Внешний Cron-сервис
Используйте cron-job.org, EasyCron или SetCronJob и укажите ваш cron URL. Настройте запуск каждые 1–5 минут.
Настройка — VPS / Выделенный сервер
* * * * * php /var/www/pulsehub/cron.php all >> /var/log/pulsehub_cron.log 2>&1
Детали задач
email — Опрос IMAP
Подключается ко всем активным email-каналам через IMAP, ищет непрочитанные сообщения и импортирует их как беседы. Если расширение imap отсутствует, задача записывает сообщение о пропуске и завершается корректно.
automations — Обработка ожидающих событий
Выбирает до 100 ожидающих событий, оценивает правила и выполняет действия. События помечаются как processing перед оценкой для предотвращения двойной обработки.
webhooks — Повтор неудачных событий
Повторяет неудачные вебхуки (до 5 попыток в течение 24 часов).
cleanup — Удаление старых данных
- SSE-события старше 24 часов
- Обработанные события автоматизации старше 7 дней
- Обработанные события вебхуков старше 30 дней
Безопасность
- Веб-режим требует секретный токен (генерируется при установке, хранится в
config/app.php) - CLI-режим не требует токена
- Сравнение токенов использует
hash_equals()для предотвращения атак по времени