认证高级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...
這樣子後端執行任務的也可以搞並發
前端應該不能直接寫資料庫吧,前端應該是發送的請求,後端執行前端的請求,那麼後端在完成寫入資料庫操作後,直接再發送一條請求執行任務的訊息就行了。
當然這則訊息也可以在前端收到寫入成功訊息後,再由前端發起,只是這麼做顯得不太合理,也浪費伺服器資源。
這樣後端執行任務的方式也不該是輪詢,而應該改成監聽回應。當監聽到新任務的執行請求時,從資料庫取數據,並加入到務隊列中。