我有一個數據庫管理系統的任務是創建一個完整的在線出價網站,它允許用戶做很多事情,比如定時拍賣的出價,基於定時可用性的現在購買以及搜索更多的東西。我已經完成了網站,但有一個小例外:一旦用戶贏得定時拍賣,必須通知該用戶他/她是贏家並且24小時結算該項目。在PHP中,如何讓一個進程運行來監視一個事件?
我的早期方法包括簡單的PHP腳本,用戶在頁面上查詢數據庫以查看出價時間是否結束以及查看誰是贏家,但這種方法有兩點錯誤。 1.用戶必須不斷刷新以確定他/她是否贏了 - 如果他們在購物頁面上。 2.如果用戶在拍賣結束後一個月內沒有登錄該網站,他/她將不知道他/她贏得了拍賣的一個月,因此未能24小時結賬。
我一直在閱讀關於cron作業的信息,但我擔心的是,由於它們是預定的作業,所以沒有方便的時間安排作業,以便高效處理作業。我的意思是,我不能持續監控,並讓拍賣結束後立即獲勝的每個用戶都知道。
我也讀過PHP的exec(),但我不確定它是我需要運行這個任務的工具,因爲一旦exec()完成,它不會重新運行。
所以我想,我的問題是,如果任何人有一個想法,我可以實現,以幫助我完成這項任務。
我們使用cron以相當小的時間間隔運行PHP腳本(每10-12秒)爲我們的網站做這種事情 - 它的效果很好。 – Ross
更新 - 請記住,如果你運行多個主機負載平衡,他們應該通過某種合併互斥體協調通知傳遞 - 最可能的是一個分貝。 – Ross