我希望我能得到一些建議。PHP CRON作業與用戶登錄的調用函數
我在我的PHP/MySQL系統中擁有會計分類帳,並且每隔一段時間就會打到分類賬的發票(對於這個例子,我們只是每月說一次)。我也有滯納金,需要在特定日期後申請。發票的「過帳」日期以及「這是遲到」日期已在數據庫中。
我想知道哪個是更好的方法來運行自動應用分類賬項目的腳本(每月一次) - 並自動輸入延遲費用(如果需要,也會每月進行一次)。對於系統的所有用戶來說,這些日期是不同的 - 就像我說的,所有的都存儲在數據庫中。我的選擇,因爲我看到它是:
有運行,每天一次(即中午12:00每一天)cron作業 - 通過每一個項目開始,在做的工作,如果日期條件得到滿足。
我想我喜歡這種方法,因爲它每天都在同一時間處理所有事情。
我很擔心這種方法,因爲:(1)如果我的服務器在我的CRON工作計劃時關閉,CPANEL現在是否完全跳過? (2)如果我有100k甚至1億條條目篩選,那麼在運行時,這會對我的服務器造成難以承受的負載嗎?
調用此腳本在「做工作」,如果日期條件都滿足,只有當相關用戶登錄。
爲什麼我不喜歡這種方法儘可能多的原因,是因爲它得到告訴申請多少發票越來越複雜,需要支付多少滯納金。另外,我有一個「管理員」的用戶誰可以看到每一個人每一件事 - 即用戶可能有沒有及時更新臺賬信息租客已沒有足夠的最近登錄...
我喜歡的reasn這種方法,是因爲它顯然是在服務器上的負載較小...
也許我在思考的東西。不知道...但建議將不勝感激。 謝謝。
如果用戶在一年內沒有登錄您的系統會怎麼樣 - 您不會向他發送發票? – zerkms 2011-04-12 02:26:22
如果你每天都這樣做,你真的希望有大量1億行需要更新?對於你的第二種情況,我建議做2件事。 1.管理員查看特定用戶時的計算結果。 2.如果您在頁面上有任何統計數據,請給管理員一個按鈕來同步數據。現在,因爲用戶可能永遠不會返回,因爲你的管理員可能是懶惰的。你可以嘗試兩種方法的組合。附:據我所知,如果cronjob失敗。它被「跳過」。 – Khez 2011-04-12 02:29:59
** @ zerkms ** - 當我看到您的觀點時,事實仍然是我希望代碼能夠最終保持穩健...並且持續2-3個月,直到認真收集資金是很常見的... * * @ Khez ** - 我不會更新100Mil行,但我將不得不檢查100Mil行... – Shackrock 2011-04-12 02:36:09