簡單介紹一下,我用Workerman開了4個進(jìn)程來處理不同的定時任務(wù)。在4個進(jìn)程中對應(yīng)4個不同的timer_id。
我已經(jīng)知道在當(dāng)前進(jìn)程中可以使用Timer::del()來刪除定時器。
我的問題有兩個:
一、如果Workerman停止了運(yùn)行,各個進(jìn)程的定時器是不是默認(rèn)就被清除了,需不需要在代碼中主動清除?比如寫一個onWorkerStop的回調(diào)清除定時器。
二、如何在其他閉包函數(shù)中,進(jìn)入指定的進(jìn)程操作數(shù)據(jù)?比如onWorkerStart開了4個進(jìn)程,在onWorkerStop時進(jìn)入1號進(jìn)程操作數(shù)據(jù)。
官方文檔看的不是很懂,希望知道的朋友麻煩解答一下我的困惑。謝謝!
進(jìn)程沒了這個進(jìn)程里的所有東西就都沒了吧,包括定時器也肯定沒了的,所以進(jìn)程停止的時候不用清理定時器。
不能跨進(jìn)程直接操作數(shù)據(jù),都是進(jìn)程間通訊來操作。比如A進(jìn)程想操作B進(jìn)程的變量,只能A進(jìn)程通過某種方式通知B進(jìn)程,B進(jìn)程再自己去操作。 https://github.com/walkor/global-timer 你看下源碼,用的是channel來進(jìn)程間通訊刪除定時器的