国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

redis-queue隊列的消費代碼更新了,總有一些進(jìn)程走的是舊邏輯,新代碼的邏輯不生效

kanin

問題描述

這里寫問題描述
redis-queue隊列的消費代碼更新了,總有一些進(jìn)程走的是舊邏輯,新代碼的邏輯不生效。

我試過php start.php restart -d ,也試過ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9 都沒有用。

最后只能改了隊列的名稱,換了個隊列名才執(zhí)行了新的邏輯,請問有人知道是什么要怎么才能讓代碼生效嗎。

不然每次修改消費代碼的文件,都得換個消費隊列名稱,那得多麻煩啊

510 2 1
2個回答

Tinywan

reload 就可以讓代碼生效嗎

  • kanin 2024-10-30

    我試過不行,其他邏輯reload生效了,不生效那個類怎么也都不生效,reload、restart、 kill -9都試過,最后都沒生效,開了8個消費隊列,總有些時候走的時候舊邏輯,最后開了1個消費隊列,居然直接走舊邏輯了,然后我改了隊列名稱,之后都新入隊的都是走新邏輯了,真的很奇怪,我就一臺機子,沒有其他機器在跑。講道理就算reload,restart無效,終極殺招 ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9 也該殺完孤兒進(jìn)程了吧,實在想不通什么原因

walkor 打賞

怎么判斷走了老邏輯?
檢查下是不是誰的開發(fā)機連到隊列去了,消費了消息,有很多開發(fā)者犯了這個錯誤。

  • kanin 2024-10-30

    其實我也懷疑是有人的開發(fā)機連到了隊列去了。

    邏輯判斷之所以確定是因為,新老邏輯都調(diào)用了第三方程序,第三方程序那邊有調(diào)用日志,新邏輯換了個服務(wù)商的,理論上新邏輯上了之后,老服務(wù)商就不會再收到請求了。但是之前的服務(wù)商還是收到調(diào)用請求,所有我就知道還有隊列再調(diào)用老的邏輯。后來換了隊列名稱,就再也沒有調(diào)用老的服務(wù)商那邊有接口調(diào)用日志了。

    講道理,reload, restart, 甚至是kill -9都用了 ,沒道理不生效的。 最有可能的就是有其他人的環(huán)境連接了公司的redis了

  • walkor 2024-10-30

    netstat -anpt | grep ':6379' | grep ESTABLISHED
    執(zhí)行命令看下哪些機器在連redis 6379端口

  • kanin 2024-10-30

    感謝哥們,找到了確實是別的機器再跑,我把賬號密碼都換了,是之前的人連進(jìn)來了

??