使用workerman作為rabbitmq的守護進程,開了10個消費進程。 代碼中mysql用到事務處理,實際使用中發(fā)現(xiàn)會發(fā)生死鎖問題?導致業(yè)務代碼無法正常運行。應該是多個進程訪問事務導致的。 我目前想到的解決方案:在處理代碼之前用redis標記是否有進程在處理,如果有則不往下執(zhí)行業(yè)務(并將當前任務重新推入mq比如3分鐘后再執(zhí)行)? ?處理完后解鎖。 不知道正確的姿勢是怎么樣的?使用多進程是因為rabbitmq?消費...
Event.php中定義了靜態(tài)變量$redis 在onWorkerStart中連接redis并用$redis保存,類中使用self::$redis進行操作redis 大概運行了幾十分鐘后出現(xiàn)了以下錯誤:exception 'RedisException' with message 'read error on connection' 已經(jīng)在onWorkerStart做了以下設置: @ini_set('default_...
阿里云1核2G的機器運行gatewayworker,按照官網(wǎng)所說, gateway進程設置為1,worker進程設置為3比較合理? 如果兩個都設置為4呢?會有明顯的效率問題嗎?要怎么測試來對比。 如果該機器運行多個gatewayworker實例,進程數(shù)每個實例不也都是可以 gateway進程設置為1,worker進程設置為3這么設置嗎? 那么單個實例為什么進程數(shù)不可以多設置些呢?求大神解惑! ?...