Discuz计划任务可自动执行缓存更新、数据清理等操作,提升论坛性能;支持设置每日发帖统计、会话清理、数据库检查、邮件发送等任务;通过后台“工具-计划任务”配置执行周期,支持固定时间、间隔执行和Cron表达式;需注意任务依赖用户访问触发,低流量站点建议结合服务器crontab调用misc.php?mod=task来确保执行。

Discuz计划任务是系统内置的一种自动化功能,用于定期执行某些指定操作,比如更新论坛缓存、清理临时数据、发送邮件通知、统计每日发帖量等。这些任务不需要人工干预,按设定的时间自动运行,有助于提升论坛性能和用户体验。
常见计划任务类型
Discuz自带多个默认任务,例如:
- 更新今日发帖数:每日统计各版块的发帖数量
- 清理用户会话数据:清除长时间未活动的在线记录
- 检查数据库完整性:定期扫描并修复表结构异常
- 发送定时邮件:如用户注册审核通知、订阅内容推送
管理员也可通过插件或自定义脚本添加新的计划任务。
如何设置执行时间
在Discuz后台可以灵活配置每个任务的执行周期:
- 登录网站后台 → 进入“工具” → 点击“计划任务”
- 选择需要编辑的任务,点击“编辑”
- 在“执行周期”中设置时间规则,支持以下方式:
- 每天固定时间执行:如每天凌晨2点(0 2 * * *)
- 每隔若干小时执行:如每6小时一次
- Cron表达式自定义:使用标准Linux cron格式精确控制频率
- 保存设置后,系统会在下次匹配时间自动触发任务
注意:计划任务依赖用户访问来触发,即只有当有用户访问论坛时,系统才会检测是否到了执行时间。若站点访问量低,可配合服务器crontab调用misc.php?mod=task接口来主动触发。
基本上就这些,合理设置能有效减轻服务器负担,保持论坛稳定运行。不复杂但容易忽略细节。










