我试图通过Plesk 11.5.30管理控制台设置与Bolt.cm的cron作业。
博尔特任务调度文档:https://docs.bolt.cm/v20/tasks在Plesk上使用Bolt设置cron作业11.5.30
计划任务
我对apache
用户设置crontab
如下:
Min H DM M DW Command
0 */1 * * * /var/www/vhosts/mysite.com/httpdocs/app/nut cron
0 */1 * * * httpdocs/app/nut cron
之所以在这里两个不同的命令是,我已经阅读另一个线程故障排除Plesk的命令路径应该是相对的域。我假设如果第一个失败,第二个仍然会运行。我也假设上面的每个小时都会运行cron。
博尔特配置
在我的配置文件中的cron_hour
设置为凌晨3点。然而,由于收听者被设置为每小时事件CRON_HOURLY
,我假定该设置被忽略/忽略。无论哪种方式,此设置已运行超过48小时,目前还没有效果。
螺栓安装
正如我已经添加以下到我的博尔特扩展,使运行时,它应该只是给我发电子邮件测试(以下已向下切入,以保持它短)。
use \Bolt\CronEvents;
class Extension extends \Bolt\BaseExtension
{
function initialize() {
$this->app['dispatcher']->addListener(CronEvents::CRON_HOURLY, array($this, 'cronNotifier'));
}
function cronNotifier() {
// send email script...
}
}
我已经测试了我的电子邮件脚本个人,所以我知道它的工作原理。使用cron作业设置并假定正在运行,此功能从未被击中。更重要的是,在数据库中bolt_cron
表仍然是空的。
如果有人可以帮助建议一些事情,我可以尝试让这个运行它将不胜感激。
THE FIX
为了解决这个问题,我改变了我的时间表,每5分钟(快速调试循环)执行。然后我做了如下发现:
- 我必须设置公共的螺母文件执行权限(所以apache用户可以执行它)
- 了,我只使用了服务器的完整路径版本的作品
谢谢@Gawain在正确的方向提示我。
右每次调用之前
cd /var/www/vhosts/mysite.com/httpdocs &&
前缀crontab命令部分......必须更改对nut文件的权限为744.现在我得到了'--run“选项不存在.'如果只是cron,尽管我看到它经历了每日,每周,每月,每年的任务和db更新。尽管没有电子邮件。 – diggersworld 2014-09-29 10:42:07
OK ...服务器的'crontab'现在正以“555”的'nut'文件权限运行。然而,我的扩展功能仍然没有被执行,我在那里也增加了一个'log'方法。 – diggersworld 2014-09-29 11:33:13
立即工作。我的电子邮件仍然没有发送,但我需要cron的功能已执行,所以我标记为已修复。将电子邮件视为一个单独的问题。 – diggersworld 2014-09-29 11:48:08