嗨,我想基於日曆製作一個定期活動。我想問的是:如何觸發事件?如果客戶端沒有登錄或打開webapp以在構造函數中觸發事件,那麼我如何使代碼無論如何運行。PHP中的經常性事件
我知道cron作業可能是解決方案,但是有沒有其他解決方案?(我想避免cron作業)。
嗨,我想基於日曆製作一個定期活動。我想問的是:如何觸發事件?如果客戶端沒有登錄或打開webapp以在構造函數中觸發事件,那麼我如何使代碼無論如何運行。PHP中的經常性事件
我知道cron作業可能是解決方案,但是有沒有其他解決方案?(我想避免cron作業)。
如果作業應觸發保持服務器在一個良好的狀態,應該使用cron作業運行,如果它的數據庫管理,數據庫管理器具有事件的表以cron作業,如果它需要僅用於用戶,如果你只是在用戶登錄之前不做這個工作,那麼它可以是一個安全的工作負載。你也可以手動登錄觸發事件,也可以管理頁面。
你必須運行一些東西才能使其工作; cron對此非常理想,因爲它可以定期運行腳本來檢查事件等事件。
沒有這一點,您將被用戶操作觸發,但正如您所說,該用戶可能無法始終登錄來觸發它。
您可以修改您的代碼以讓任何用戶爲所有用戶觸發操作。這有點複雜,因爲您需要允許多個用戶同時登錄,而您只希望其中一個用戶觸發某些內容。我會在你的數據庫中建立一個表來跟蹤事件被觸發的最後時間,然後如果從現在開始到現在的差距足夠大,當用戶登錄時,在表中添加一個新的條目,阻止另一個用戶觸發此操作,並觸發你需要運行的位。
就像我說的,雖然這不會是一個完美的解決方案,我真的會推薦使用cron。你有什麼理由避免使用cron嗎?
感謝阿什利您的迴應。唯一阻止我使用cron的是我對它不是很熟悉。但如果這是做到這一點的最佳方式,我會試試看。再次感謝。 – hgtaz
cron很容易設置,維基百科頁面值得一看,它解釋了用於確定任務運行頻率的語法。通常,使用CLI編輯器作爲默認設置(通常是Vi/Vim),通過命令行通過「crontab -e」添加cron作業。我認爲現在很多典型的Linux發行版實際上都提供了一個註釋示例來幫助你。 –
爲什麼你想避免使用CRON? –
問題:你想要對這個重複(預定)事件做什麼樣的事情?即更新數據庫內的值? – ianace