跳到主要内容

Cron 作业

PulseHub 使用 cron 执行器(cron.php)来处理后台任务 — 轮询邮箱、处理自动化、重试失败的 webhook 以及清理旧数据。


概述

cron.php 支持两种模式

模式工作方式最适合
Web URL通过浏览器或主机面板调用 cron.php?token=YOUR_SECRET&job=all共享主机(cPanel、Plesk)
CLI从终端运行 php cron.php allVPS / 独立服务器

可用作业:

作业描述
all按顺序运行所有作业
email轮询活跃的 IMAP 邮件渠道
automations处理待处理的自动化事件
webhooks重试失败的 webhook 事件
cleanup清理旧的 SSE/自动化/webhook 事件

设置 — 共享主机(cPanel / Plesk / DirectAdmin)

选项 A:基于 URL 的 Cron(推荐)

  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

提示: 从 PulseHub 的设置 → Cron Job URL 复制完整 URL。

选项 B:基于 CLI 的 Cron

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 轮询

连接到所有活跃的邮件渠道(通过 IMAP),搜索未读消息,并将其导入为对话。如果缺少 imap 扩展,作业会记录跳过消息并正常退出。

automations — 处理待处理事件

选择最多 100 个待处理事件,评估规则,执行操作。事件在评估前被标记为 processing 以防止重复处理。

webhooks — 重试失败事件

重试失败的 webhook(24 小时内最多 5 次尝试)。

cleanup — 清理旧数据

  • 超过 24 小时的 SSE 事件
  • 超过 7 天的已处理自动化事件
  • 超过 30 天的已处理 webhook 事件

安全

  • Web 模式需要一个密钥令牌(在安装期间生成,存储在 config/app.php 中)
  • CLI 模式不需要令牌
  • 令牌比较使用 hash_equals() 以防止计时攻击