Перейти к основному содержимому

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 (рекомендуется)

  1. Войдите в панель хостинга
  2. Перейдите в Cron Jobs
  3. Установите расписание Каждую минуту (* * * * *)
  4. Вставьте:
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() для предотвращения атак по времени