电报一直返回409,我该怎么调试呢?

时间:2017-05-19 18:05:25

标签: ruby telegram long-polling telegram-bot

在我的电报服务中使用ruby telegram-bot-ruby时收到以下错误:

Telegram::Bot::Exceptions::ResponseError: Telegram API has returned the error. (ok: "false", error_code: "409", description: "Conflict: terminated by other long poll or webhook")

我正在使用桌面来测试我的开发机器人和我的生产机器人。因此,聊天ID似乎相同,但机器人API不同。

除此之外,代码似乎很好并且间歇性地返回。

问题:

1)如何调试以防止这种情况发生?

2)如何设置我的应用程序不退出 - 它正在抢救到Rollbar,但也退出脚本

感谢。

1 个答案:

答案 0 :(得分:0)

对我来说,看起来你的问题可能是因为你试图在同一个ruby进程中同时访问同一个端点。为了防止这种情况,可能会尝试为您提到的每个机器人生成一个不同的ruby进程,例如您的dev bot的一个进程和生产bot的另一个进程。

也许看看ruby的Process模块​​在这里有一个名为#fork的方法:https://ruby-doc.org/core-2.1.2/Process.html#method-c-fork