什么是定时任务?
定时任务(Cron Jobs)是由您在网站上激活的WordPress或WordPress插件自动创建的计划任务。它们类似于闹钟,闹钟会定期关闭以触发自动响应。
在讲解如何查看和管理WordPress网站上运行的定时任务之前,我们先解释一下什么是“定时任务”。简而言之,术语Cron Job指的是在网站上每天间隔执行任务列表。“ 定时任务”始终是一个重复的任务,在指定的时间间隔内运行。在大多数情况下,定时任务会在24小时内运行一次,当然,有些也会根据实际需要每天运行多次。
当您单击安装和激活按钮时,许多WordPress插件,特别是那些触发发送电子邮件的插件,都会自动配置定时任务。除非您遇到问题,否则通常无需担心定时任务何时发生。虽然本教程稍后将在我们的WordPress网站上讨论如何查看和删除“ 定时任务”,但在大多数情况下,除非该工作重复或不重复,否则您无需深入研究“ 定时任务”。
更具体地说,您可能需要对网站上进行的某些“定时任务”进行故障排除:
- 定时备份
- 维护任务
- 磁盘空间监控
- 文件删除
- 邮件发送
当您查看网站上运行的定时任务列表时,如果您不是开发人员,一开始您可能会摸不着头脑。每个“ 定时任务”都有一个脚本,即要执行的任务,一个执行脚本的命令以及该脚本的操作。除非您拥有专用服务器,否则“ 定时任务”运行的频率不应超过每15分钟一次。
就定时任务的运行时间而言,可以将它们设置为在以下时间间隔运行:
- 分钟
- 小时
- 一周中的某一天
- 一个月中的某一天
尽管许多插件确实创建了定时任务,但是运行过多的“ 定时任务”会降低服务器的速度。出于这个原因,我们始终建议您仅安装必要的插件,可有可无的插件尽可能不要安装。
为什么要查看定时任务?
尽管很多WordPress用户永远都不需要查看网站的定时任务,但是可能会有少数用户有这方面的需要。所以我们就来介绍一下这方面的知识,以帮助需要查看和管理定时任务处理错误的人。
如果您是全新安装的WordPress,还未安装插件,您可能会认为没有运行“ 定时任务”。这是不正确的,因为WordPress运行了许多定时任务,例如更新检测、删除旧评论、定时发布文章等。
对于某些WordPress用户,他们可能会发现由插件运行的一组特定的“ 定时任务”正在减慢其网站的速度,或者他们可能认为是这种情况。查看“定时任务”将允许WordPress用户删除插件并找到替代解决方案,或者删除他们在网站上不需要的“定时任务”。其他WordPress用户可能会发现邮件在24小时内发送了两次,而原本只需要发送一次即可。这通常是由重复的“定时任务”引起的,可以通过从任务列表中删除其中一个任务来解决。
与WordPress定时任务相关的错误
如果您在WordPress网站上遇到与自动常规任务相关的错误,则定时任务可能有问题。定时任务可能在安装插件时未正确创建,或者更糟的是,可能重复创建。如果您的网站上的定时任务有问题,则可能会发生以下某些错误:
- 发生事件重复。例如,应该在“会员帐户过期”前10天发送的邮件,在24小时内发送了两次,或者两次发布了许多文章,导致出现SEO相关问题。
- 定时发布的文章未发布
- 无法自动备份或清除备份
- 任何类型的自动任务都可能失败
如何查看和管理定时任务?
查看定时任务以及更改或删除作业的最简单方法是使用著名的 WP Crontrol 插件。这是一个开发完善的定时任务管理插件,目前可从WordPress.or插件库下载。
当您安装WP Crontrol或 类似的插件时,您将能够查看所有计划的“定时任务”。每个“定时任务”的挂钩名称可让您深入了解“定时任务”的功能。在下一列中,将显示下一个“定时任务”发生的时间以及它们之间的时间间隔。可以编辑或删除每个“定时任务”,如果您遇到此类问题,可以删除重复的任务。虽然完全可以为已安装的插件删除重复的“定时任务”,但是请确保不要删除标准的WordPress“定时任务”,这样会导致基本的WordPress功能和操作失败。
- 以管理员身份登录到您的WordPress网站并安装WP Crontrol。可以直接从WordPress后台搜索安装。
- 激活 WP Crontrol插件。
- 在WordPress后台,点击“ 工具 ”菜单。选择“ 定时事件 ”标签。
- 从这里,您应该能够看到WordPress网站上发生的所有“定时任务 ”。每个“定时任务”都显示在单独的行中,每个都有自己的“ 删除 ”选项。在删除“定时任务”之前,请务必仔细检查。
定时任务的“挂钩名称”通常可以看得出是由哪个插件创建的。那些以“ wp”开头的文件通常是由WordPress而非插件创建的。建议您不要删除这些Cron作业。
WP Crontrol是很有用的插件,您不仅可以用来删除重复的任务或不需要的任务,还可以用来实现以下操作:
- 添加新的定时任务
- 立即运行定时事件
- 编辑定时事件
遇到一个神奇的问题,所有的cron事件都执行不了,在工具-站点健康里会提示任务执行失败或者被延迟,通过wp control执行的话也会直接失败。查了下,有篇文章说使用define(‘ALTERNATE_WP_CRON’, true);启用额外的cron,但是之后也是失败的,cron log也看不到失败原因。快崩溃了,不知道有没有人遇到过这个问题,求解决方法啊
没有遇到过这种情况,建议你自己禁用所有插件,或者切换为默认主题,排查一下是否和主题或插件有关
我就遇到了定时发布的文章未发布这个问题……其他都正常!
以前我也遇到这个问题,然后通过 https://www.wpdaxue.com/wordpress-schedule.html 解决了问题。也不知从什么时候开始,我就不用安装插件了,莫名其妙就好了,可能这个问题还是和插件、主题有关系吧