發表文章

目前顯示的是 1月, 2018的文章

STOMP收到Unexpected EOF while reading from socket錯誤

最近在協助處理一個PHP搭配 ActiveMQ 的系統問題,處理過程中習慣性的把所有可能的潛在原因都看一遍。又看到一些以前沒注意過的事情。就稍微記錄一下~ 找問題,自然是先打開log、觀察log中是否有任何的異常。觀察下來,發現偶爾會出現"Unexpected EOF while reading from socket"的錯誤。原以為這樣的錯誤訊息,是出現在 Stomp::readFrame 。沒想到,最後確認是發生於 Stomp::__construct ,程式開啟 ActiveMQ 連線時… 這樣的錯誤、與發生位置,相關性真令人百思不得其解。但無意間,在另一台主機測試時找到了答案~ 在測試連線時,將一樣的程式放到另一台主機上執行、測試時,故意給予錯誤的連線設定。測試結果卻是收到"Unable to connect to 127.0.0.1:61613"的錯誤訊息,和剛剛的不同。 最後找到原因,是因為兩台主機的 PECL :: Package :: stomp 版本不同,整理如下…

phpredis使用rpoplpush時出現read error on connection

最近使用 redis 的 Lists 資料結構做些東西,採用 Reliable queue 這Pattern。 我開發環境的語言是PHP,連接 redis 的套件,採用 phpredis/phpredis: A PHP extension for Redis 這套。 雛形很快的就開發好了,沒想到,一測試就遇到以下的錯誤…程式無法達到預期-持續的連接於redis接收 Lists 內的資料。 RedisException: read error on connection in XXXXX.php 由於我是使用 brpoplpush 這指令操作,不經懷疑blocking的操作方式會受redis.conf中的timeout參數的影響。當初,考量redis的運作方式,因此刻意調整此參數避免redis被單一client卡住。畢竟設定檔中的timeout參數是這樣說明的…