如果答案是簡單的,但我的大腦今天似乎無法解決這個問題,我很抱歉,我希望有人不得不解決類似的問題。PHP/Laravel - 每分鐘執行命令十分鐘
因此,在我的數據庫中,我有各種記錄與時間戳。
在時間戳之前10分鐘,我想執行一個操作並將結果存儲在一個字段中。
我很清楚,如果我只是垂直存儲這些記錄,因爲它是我想在db中有額外的字段tenminutes
nineminutes
等 - 我知道這可能是壞的DB設計但ssshhh,隨它吧!
好了,在我的分(僞)代碼讀取有點像這樣:
// In a command that is executed every minute using the scheduler....
$current = Carbon::now();
foreach ($things as $thing) {
if ($thing->thingStartTime->diffInMinutes($current) <= -10) {
//Get data
//Update table field `tenminutes`
}
if ($thing->thingStartTime->diffInMinutes($current) <= -9) {
//Get data
//Update table field `nineminutes`
}
}
你能看到多麼可怕,這將變成什麼樣?
我正在考慮沿着一個關聯數組的行,通過它循環,並有一種'tenminutes' => 10
事情正在進行?
還是有更好用的方式使用carbon
我不知道?有任何想法嗎?
其他信息,這是在每分鐘執行一個cron作業!因此,如果能夠使用Laravels調度程序來做到這一點,那麼很容易知道!
您可以創建工匠命令並使用調度程序運行它們 –
嗨Aleksei,是的,應該提到這已經存在於每分鐘執行的命令中 – dyatesupnorth
//獲取數據始終是相同的代碼? – apokryfos