2020年9月3日 星期四

[Debug 進程] Could not connect to host

 花了2天時間fix一個issue

事源是datasheet bulk verify job (利用SoapClient->doRequest webservice處理多條工序)大於1000條的話, 約到第800條左右就會出現"Could not connect to host" exception。


起初以為是對方Server限制了到達指定數量的工序時就會block了(eBay VerifyAddItem Document: https://developer.ebay.com/DevZone/XML/docs/Reference/eBay/VerifyAddItem.html)

但看上文是會返回errorCode 21919144的內容, 在var_dump exception 時卻找不到這個error code, 只是說SoapClient->doRequest 出現問題。

這個問題處理得很困難, 源於exception只有"Could not connect to host"這一句, 而每次測試這1000條bulk job都要花上我2個小時……


奇怪的是大約跑了800條左右(2小時花掉), 它會不斷很快地返回"Could not connect to host"這一句, 所以不像是對方server的返回資訊, 而更像是內部的error返回。

再看會發現soapClient本身也返回"Could not connect to host" error。網上找有可能是cache問題, timeout問題, 可是都沒有方向如何處理。

https://stackoverflow.com/questions/4318870/soapfault-exception-could-not-connect-to-host

我們的問題是起初可以"Connect to host", 直到800條才不行, 而不是一開始就不行了, 所以有很多Google results 也似乎不像我們的情況……

及後繼續Google和看Log, 事情的確只發生於soapClient->__doRequest 會出現exception……

之後找來了:
https://stackoverflow.com/questions/43947872/soapclient-error-could-not-connect-to-host-on-php-7-0-and-laravel

發現有機會是php version的問題, 原來問題在php 5.6 上不會發生, php 7.2 上就會出現。這是個重大發現! 測試又多花了2個小時……

判斷了是php version 問題後, 再經上司幫了一下忙找到:

https://stackoverflow.com/questions/40884866/could-not-connect-to-host-soapfault-exception-after-some-requests/40927519#40927519

這個情況跟我們的很像, 因為它像我們的一樣, 直到第500-1000條calls 時就會出現"Could not connect to host" , 而我們還是可以成功連去對方server的。

結果原來是因為我們開了太多connections所引起的, 依據答案加入'keep_alive' => false, 把用完的connections關掉, 再花2個小時run一次, 1000條運行成功, 問題在php 7.2上也解決了。




總結遇到問題解決方向:

  1. 嘗試print exception / error 看線索
  2. 嘗試記錄log / 看log找線索
  3. 嘗試重現問題發生規律
  4. 嘗試釐清問題因由, 重點
    (Code 的問題? Setting 的問題? Network 的問題? Server 的問題? 例如版本問題? )
  5. 從重點列出關鍵字, 再Google找解決方案
  6. 重複以上步驟, 直至問題解決

2020年7月29日 星期三

疫境思維(轉)

不埋怨不能外遊,只感恩昔日有機會探索世界;

不埋怨天天在家,只感恩仍可在家,不在醫院;

不埋怨沒法晚聚,只感恩廚房豐足,沒有缺糧;

不埋怨熱天帶口罩,只感恩口罩不難買,不用慌張排隊;

不埋怨半年仍未有疫苗制止病毒,只感恩醫護盡心竭力,將病人放在心;

不埋怨確診激增, 只感恩比對眾多城市,香港病人較少;

不埋怨生命無常,只感恩聖靈在內,掌管我心;

不埋怨孤單寂寞,只感恩獨處操練,耶穌基督就在身旁;

不埋怨災禍降臨,只感恩雲上的天父,在嚴痠之日,天天以彩霞印記,說明祂在這裡。

[Windows] Forget Windows Password Hack



2020年7月25日 星期六

【IT秘笈】Ctrl + W 的神奇魔法

介紹一個小秘笈俾大家。

話說大家知唔知道原來自己用左好耐的mouse有一個秘技,就係中間嗰個碌(scroll)是可以噤落去的。大家有無好好善用個佢呢個精心設計呢?

例如,我呢度有條link, 你就咁噤落去呢,Google Blogger佢好好人會幫你開一個新分頁打開個連結,但好多網站都會係同一個分頁轉跳去新地址,咁你就要噤「上一頁」先可以返回原來個一頁再睇落去。

好啦,魔法出現了,就係你可以指住條link噤一下mouse中間個scroll,佢嘅秘技就係會幫你用新分頁打開呢條link,而你又依然可以留係本來嘅頁面睇埋落去。係咪好神奇呢?

Yo,不過你再留意下我今次嘅標題,唔係介紹呢個噤得嘅scroll,而係佢嘅解藥——ctrl + w。因為當你知道左呢個噤得嘅scroll之後,你就會好開心咁成日噤,之後就開左好多好多好多個tabs⋯⋯問題就係係咁開唔關閉番,攪到自己都唔知睇到邊度。

所以我呢家就要介紹ctrl + w的魔法,佢就係呢個噤scroll的解藥,將打開左嘅視窗關番佢,清理番打開左睇完嘅分頁。而且呢個ctrl + w解藥係好多程式都通用的。你可以係唔同嘅程式試下,「通常」都用到嘅。

P.S. Mac機就係command + w,用法一樣吧。

知道左秘技同解藥之後,處理工作又快捷左少少了吧。不過D野快又咁做,慢又咁做,其實做到好快咁又為乜呢,呵呵呵。 唯有聽多首歌咁啦。

2020年7月23日 星期四

[人際秘技] How to hang around with mentally-ill people

How to hang around with mentally-ill people:
  • Authenticity
    - Tell them about your stories with your true heart, let them understand about the real you, and you about your authentic self too.
     
  • Empathy
    - Try to understand their own stories as they listen to yours.
     
  • Have fun
    - Make harmless good jokes with them in the good moment, try to make yourself laugh and project the good feelings to people around.
     
  • Do the right things & persevere, not giving in
    - Understand that they are ill and may not speak in rational manner, if they have any irrational requests, politely and sensitively deny them. Or use your instant creativity to solve in the conversation.
     
  • Rely on God
    - Last but not least, ask God for wisdom so you don't trigger they temper and make good friendship with them, just like what Jesus would do.

[Phone Pause] 我的消磨時間活動清單(走電話篇)

我的消磨時間活動清單:

  1. 看喜歡的書
    (需要一本喜歡的書,和眼鏡一副)
     
  2. 看不喜歡的書
    (自由隨便看,需要一本不喜歡的書,眼鏡隨意)
     
  3. 寫日記
    (需要桌子、媒介、紙、筆、靈感)
     
  4. 四圍走
    (需要有走動的自由)
     
  5. 與人聊天
    (需要有合適的人、時機及話題)
     
  6. 摺紙origami
    (需要紙,更好的話有摺紙的花紋紙及摺紙書)
     
  7. 喝水
    (需要水、喝水的水杯,不需要口渴的條件)
     
  8. 小睡
    (隨心需要一張床,站著坐著均可)
     
  9. 梳頭
    (需要頭髮、梳,沒梳的話手指也可)
     
  10. 看天
    (需要眼睛,視線可看到天)
     
  11. 看風景
    (需要眼睛,視線可看到風景)
     
  12. 看天花板
    (需要眼睛,及天花板)
     
  13. 背經文
    (有沒有聖經均可)
     
  14. 構思下一張畫作
    (需要紙、筆、靈感)
     
  15. 清理垃圾
    (需要找出垃圾)
     
  16. 潔面護膚
    (需要清水、護膚品)
     
  17. 做運動
    (需要動力)
     
  18. 觀察人的活動
    (需要眼睛、人)
     
  19. 抄聖經
    (需要紙、筆,隨心需要聖經,因為已記入腦)
     
  20. 代禱
    (需要寧靜的心)
     

Weight Loss! The journey continues

是一個漫長的奮鬥旅程…… 最近嘗試努力改變的生活習慣: 晚上九時半去瞓覺 瞓覺前唔用電子奶咀,即喺ipad同手提電話(因為呢家部電話用耐咗,會無電要叉過夜) 用蔬果代替日常零食,例子有:車厘茄、藍莓、士多啤梨、粟米芯、提子,都係細細地嘅一舊一舊comp食啲 唔食熱氣零食 安靜去每...