如果進(jìn)程開啟打開一個(gè)定時(shí)器(20s) 輪詢查mysql roomId 通過roomId查詢r(jià)eids對應(yīng)房間詳情 怎么能做到?jīng)]有時(shí)間差
用戶進(jìn)入考試開啟2小時(shí)定時(shí)任務(wù),命中條件銷毀。
房間的定時(shí)器該怎么設(shè)置,如果有一百場考試 是通過進(jìn)程的輪詢定時(shí)器去查詢是否有新創(chuàng)建的房間 針對每個(gè)房間開啟一個(gè)對應(yīng)的定時(shí)器嗎?
定時(shí)器過多會(huì)不會(huì)影響效率
用戶進(jìn)入試卷答題,時(shí)間為1小時(shí),1小時(shí)后。自動(dòng)提交的話,是不是需要把用戶前面已經(jīng)做好的題要提交過去,不然用戶就是0分了
我是這么考慮的
參與考試,查詢隊(duì)列是否有該場考試,如果沒有,計(jì)算考試倒計(jì)時(shí)push隊(duì)列,同步開始用戶倒計(jì)時(shí)push到隊(duì)列
倒計(jì)時(shí)結(jié)束socket推送前端強(qiáng)制提交
用戶選擇一次,提交一次問題、答案 判斷對錯(cuò)然后存入redis
考試結(jié)束,pop reids該場考試數(shù)據(jù) 逐步入庫
開始與截止時(shí)間已明確,前后端都對時(shí)間做判斷,大于截止時(shí)間不允許答題
1和2可以互補(bǔ)