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

使用tcp調(diào)試工具,三個客戶端同時去給服務(wù)端發(fā)心跳,導(dǎo)致執(zhí)行一半就執(zhí)行下一條了

chenStudy

bug描述

使用tcp調(diào)試工具,同時開三個客戶端同時去給服務(wù)端發(fā)心跳,設(shè)置的是每個客戶端1秒一次,應(yīng)該是發(fā)送太快服務(wù)端處理不過來,導(dǎo)致上一條還沒執(zhí)行完成就直接執(zhí)行第二條心跳了,導(dǎo)致第一條心跳執(zhí)行一半沒有服務(wù)端還沒回應(yīng)給客戶端就執(zhí)行一下一條

程序代碼或配置

期待的結(jié)果及實際結(jié)果

期望每一次都執(zhí)行完成

重現(xiàn)bug的步驟

截圖

截圖

系統(tǒng)環(huán)境及workerman/webman等具體版本

Workerman version:3.5.31

PHP version:7.3.4

885 3 0
3個回答

nitron

1.這不是隊列,那個進程有空哪個處理(除非你只開一個進程)
2.維持連接的心跳代碼不應(yīng)做業(yè)務(wù)處理

  • chenStudy 2023-01-06

    嗯嗯,我現(xiàn)在只是用心跳來測試,業(yè)務(wù)報文里面也會出現(xiàn)這種問題,發(fā)送太快的話有時候會執(zhí)行不完整

keytehu

多個進程并發(fā)輸出到終端,顯示時會出現(xiàn)錯亂。
例如 A進程

echo "===\n";
echo 1."\n";
echo 2."\n";

B進程

echo "===\n";
echo 3."\n";
echo 4."\n";

你期待的結(jié)果可能是

===
1
2
===
3
4

但實際可能是

===
1
===
3
2
4

因為并發(fā)輸出了
并不是你說的執(zhí)行一半,而是顯示錯亂,給人的錯覺只執(zhí)行一半。

  • 暫無評論
chenStudy

截圖
我測試了一下運行一次在數(shù)據(jù)庫插入一條數(shù)據(jù),最后兩次執(zhí)行導(dǎo)致沒有添加到數(shù)據(jù)庫,并不像你說的那樣,但你說的也沒問題

  • Gin 2023-01-06

    應(yīng)該就是 $result>0 那里的問題

  • chenStudy 2023-01-07

    好像是有點問題,是因為里面db太慢,執(zhí)行不過來跳過了嘛難道

年代過于久遠,無法發(fā)表回答
??