2016-06-01 65 views
0

我寫了一個電報機器人,但它有時候會變成frizes,並且不會回覆這些信息。如何檢查,該電報機器人自動生存?

如何自動檢查bot的狀態(例如來自另一臺服務器)。

我想,我需要像心跳檢查:

  1. 非網絡掛接服務器發送消息。
  2. 捕獲電報回覆
  3. 如果回覆不在合理的時間內,bot就死掉了。

但是,我需要在Linux服務器上的電報客戶端來做到這一點。

你有什麼想法,如何檢查電報bot狀態?

+0

你使用webhook嗎?如果是,可能是你的腳本有錯誤(如異常),並且你沒有迴應200狀態。這可能是無限循環的原因。 有些時候電報服務器的時間響應是6秒。我們通過munin檢查它。你也可以檢查最後收到的和最後發送的消息時間是否有問題 – Dmitry

+0

是的,我使用webhook獲取更新,有時我們的服務器無法處理正常時間的請求,並且電報被放棄 –

+0

有很多工具可以ping一個網頁服務。 google搜索關鍵詞:ping monitor API健康檢查正常運行時間工具/服務/ saas。 –

回答

0

你需要找出爲什麼殭屍死機,健康檢查不是你的問題的答案。但是,如果您確實想要實施某種自動健康檢查,則需要使用Telegram CLI以固定的時間間隔向您自己的機器人發送請求,並檢查來自該CLI用戶的傳入消息。 如果您遇到Telegram的webhook問題,請嘗試使用getUpdates方法長時間拉取更新。我知道一些使用這種方法的高流量機器人,Webhooks有最大的併發請求數量,所以如果你只是將它們延遲幾毫秒,它就會開始累計延遲。

+0

你的意思是https://github.com/vysheng/tg? –

+0

是的,確切地說。你也可以找到CLI的一些包裝: https://github.com/tincann/telegram-cli-wrapper – ariaby