我對CakePHP的3.2項目工作..計劃任務介紹CakePHP
我有一個Property
實體..
當用戶創建一個財產,管理員必須驗證它成爲活躍 .. 之後,我把現在的日期+ 10天例如date_of_expiration
...
我想要的是,這屬性在此日期到期(當前日期+ 10天)。通過改變一個名爲場status
從活躍到不活躍 ..
我在谷歌搜索,我發現我NEAD稱爲Sheduled任務 ..
我問這樣做CakePHP中3.2
我對CakePHP的3.2項目工作..計劃任務介紹CakePHP
我有一個Property
實體..
當用戶創建一個財產,管理員必須驗證它成爲活躍 .. 之後,我把現在的日期+ 10天例如date_of_expiration
...
我想要的是,這屬性在此日期到期(當前日期+ 10天)。通過改變一個名爲場status
從活躍到不活躍 ..
我在谷歌搜索,我發現我NEAD稱爲Sheduled任務 ..
我問這樣做CakePHP中3.2
你可以建立一個cron job這將調用您的控制器功能的最佳途徑。然後,您的功能將選擇properties
表中的所有記錄,檢查date_of_expiration
是否已過期,然後將status
設置爲inactive
。
你必須允許沒有你登錄並可能禁用CSRF組件(如果您正在使用它)被調用的方法:
public function beforeFilter(Event $event){
$this->Auth->allow('cronjob_expiration_date');
if(in_array($this->request->action, ['cronjob_expiration_date'])) {
$this->eventManager()->off($this->Csrf);
}
}
這是必要的,因爲cron作業「用戶」未登錄。
是Cron工作最好的方式,沒有其他解決方案,因爲我必須找到多個解決方案? –
是最簡單的方法。 Cron在後臺運行,在預定的時間調用shell腳本,它執行你所需要的。 – Salines
這可以用於Windows? –