我試圖通過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