进阶 docs.flarum.org 2026-10-15 14:50:53 · 20 阅读

第28章 Flarum Scheduler(调度器)配置指南

Version: 2.x Scheduler Flarum 调度器(Scheduler)允许扩展轻松自动处理特定任务。本指南将演示如何配置。我们不会深入探讨 cron 本身的细节,但如果你想了解更多,建议查阅这篇维基百科文章。 为何需要关注?​ 简单来说,越来越多的扩展现已支持在幕后自动处理特定功能。你是否曾疑惑 fof/drafts 的“定时草稿”为何未自动发布,或 fof/best-answer 的“X 天后提醒用户设置最佳答案”为何未触发?原因在于它们通过调度器服务进行配置,但如果没有添加一条简单的 cron 任务,这些功能就不会执行! 哪些扩展当前使用调度器?​ 以下是一些流行示例: FoF Best Answer FoF Drafts FoF Sitemap FoF Open Collective FoF Github Sponsors 好,让我们开始配置!​ 大多数(如果不是全部的话)Linux 发行版都自带 cron 或可安装它。例如,在基于 Debian 和 Ubuntu 的系统上,你可以这样安装 cron: sudo apt-get update
sudo apt-get install cron
如果你使用的是基于 RHEL 的 Linux 发行版(如 CentOS、AlmaLinux、Rocky Linux 等),请这样安装 cron: sudo dnf update
sudo dnf install crontabs
安装完 cron 后,让我们创建 Flarum 所需的唯一条目: crontab -e
这将打开 cron 编辑器。你那里可能已有其他条目。添加以下行,并确保末尾留有一空行。 * * * * * cd /path-to-your-project && php flarum schedule:run >> /dev/null 2>&1
* * * * * 指示 cron 每分钟执行一次该命令。 如果你想使用不同的值但不确定 cron 表达式如何工作,可以使用 cron 表达式生成器轻松获取所需的字符串。 cd /path-to-your-project && php flarum schedule:run 执行 Flarum 调度器,以触发当前等待运行的任何任务。如果 PHP 不在系统路径中,你可能需要尝试设置 PHP 的完整路径。 最后,>> /dev/null 2>&1 用于抑制命令的输出。 完成!现在,任何注册了待执行任务的扩展——无论是每分钟、每天、每月还是每年——都将在你的服务器上运行。

评论 (0)