需求是這樣的,在onWorkerStart中,定時檢測并異步執(zhí)行耗時任務(wù),當有客戶端連接ws時,可以實時獲取該進程任務(wù)的執(zhí)行日志。
目前我采用的方案是文件和redis這樣的中間件。我在想,既然timer和websocket同屬于一個進程,那么能否不用中間件,直接在onWorkerStart里發(fā)送send給客戶端呢?
單進程模型是可以的:
onConnect回調(diào)設(shè)法保存所有客戶端連接,onWorkerStart回調(diào)定時執(zhí)行異步任務(wù)并將異步結(jié)果反饋即send給客戶端。