84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
认证高级PHP讲师
加機器...
只要是輪循就一定會有這個時間間隔。 mysql好像沒有監聽資料機制你可以在前面加一層redis或mq1.前端新增任務2.任務寫入redis/mq,寫入mysql3.後端監聽redis/mq,取得到任務執行,執行完成後更新mysql
mq就不用說了,都是監聽redis的用pubsub 來做redis pubsub 用起來很簡單。 http://redis.cn/commands/pubs...這樣子後端執行任務的也可以搞並發
前端應該不能直接寫資料庫吧,前端應該是發送的請求,後端執行前端的請求,那麼後端在完成寫入資料庫操作後,直接再發送一條請求執行任務的訊息就行了。 當然這則訊息也可以在前端收到寫入成功訊息後,再由前端發起,只是這麼做顯得不太合理,也浪費伺服器資源。 這樣後端執行任務的方式也不該是輪詢,而應該改成監聽回應。當監聽到新任務的執行請求時,從資料庫取數據,並加入到務隊列中。
加機器...
只要是輪循就一定會有這個時間間隔。
mysql好像沒有監聽資料機制
你可以在前面加一層redis或mq
1.前端新增任務
2.任務寫入redis/mq,寫入mysql
3.後端監聽redis/mq,取得到任務執行,執行完成後更新mysql
mq就不用說了,都是監聽
redis的用pubsub 來做
redis pubsub 用起來很簡單。 http://redis.cn/commands/pubs...
這樣子後端執行任務的也可以搞並發
前端應該不能直接寫資料庫吧,前端應該是發送的請求,後端執行前端的請求,那麼後端在完成寫入資料庫操作後,直接再發送一條請求執行任務的訊息就行了。
當然這則訊息也可以在前端收到寫入成功訊息後,再由前端發起,只是這麼做顯得不太合理,也浪費伺服器資源。
這樣後端執行任務的方式也不該是輪詢,而應該改成監聽回應。當監聽到新任務的執行請求時,從資料庫取數據,並加入到務隊列中。