如何在多个服务器(或计算机)上运行相同的Python程序(脚本)?
如何在多个服务器(或计算机)上运行相同的Python程序(脚本)?我对电报机器人进行编程(使用Python-Telegram-Bot API),并希望我的程序同时在多个服务器上运行。
怎么办?没有得到“ telegram.err.conflict:冲突:由其他getupdates请求终止的东西;请确保只有一个bot实例正在运行”
此机器人将用于并发porpuse(例如检查图形管理信息)。
非常感谢您的帮助(和建议)。
def main() -> None:
global updater
global dispatcher
updater = Updater(token="here should be the bot token provided by BotFather", use_context=True, workers=999)
dispatcher = updater.dispatcher
start_handler = CommandHandler('start', start,
run_async=True)
choice_handler = MessageHandler(Filters.text & ~Filters.command,
choice, run_async=True)
income_handler = MessageHandler(Filters.regex(DECLARATION),
income, run_async=True)
end_handler = MessageHandler(Filters.regex('Fin') | Filters.regex('Done') | Filters.regex(FINISH),
end, run_async=True)
stmt_handler = MessageHandler(Filters.regex(STMT) & ~Filters.command,
declaracion_por_dia, run_async=True)
stmt2_handler = MessageHandler(Filters.regex(STMT2) & ~Filters.command,
calendario_ultimos_siete, run_async=True)
return_handler = MessageHandler(Filters.regex(RETURN) & ~Filters.command,
choice, run_async=True)
callbackquery_handler = CallbackQueryHandler(declaracion_por_rango, run_async=True)
cancel_convhandler = CommandHandler('cancel', cancel,
filters=Filters.regex('Cancel')
| Filters.regex('CANCEL'), run_async=True)
conversation_handler = ConversationHandler(
entry_points=[start_handler],
states={
CHOICE: [choice_handler, end_handler],
INCOME: [income_handler, end_handler],
CHOOSE: [stmt_handler, stmt2_handler, return_handler],
DEC_BY_RANGE: [callbackquery_handler]
},
fallbacks=[cancel_convhandler],
run_async=True
)
dispatcher.add_handler(conversation_handler)
# dispatcher.add_error_handler(stmt_handler, run_async=True)
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
How can I run the same Python program (script) on multiple servers (or machines)? I programming a telegram bot (using python-telegram-bot API) and I wish my program running on multiple servers at the same time.
How can do it? without get something like "telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"
This bot will be used for concurrency porpuse (like checking graphical administrative information).
Thanks a lot for the help (and suggestions).
def main() -> None:
global updater
global dispatcher
updater = Updater(token="here should be the bot token provided by BotFather", use_context=True, workers=999)
dispatcher = updater.dispatcher
start_handler = CommandHandler('start', start,
run_async=True)
choice_handler = MessageHandler(Filters.text & ~Filters.command,
choice, run_async=True)
income_handler = MessageHandler(Filters.regex(DECLARATION),
income, run_async=True)
end_handler = MessageHandler(Filters.regex('Fin') | Filters.regex('Done') | Filters.regex(FINISH),
end, run_async=True)
stmt_handler = MessageHandler(Filters.regex(STMT) & ~Filters.command,
declaracion_por_dia, run_async=True)
stmt2_handler = MessageHandler(Filters.regex(STMT2) & ~Filters.command,
calendario_ultimos_siete, run_async=True)
return_handler = MessageHandler(Filters.regex(RETURN) & ~Filters.command,
choice, run_async=True)
callbackquery_handler = CallbackQueryHandler(declaracion_por_rango, run_async=True)
cancel_convhandler = CommandHandler('cancel', cancel,
filters=Filters.regex('Cancel')
| Filters.regex('CANCEL'), run_async=True)
conversation_handler = ConversationHandler(
entry_points=[start_handler],
states={
CHOICE: [choice_handler, end_handler],
INCOME: [income_handler, end_handler],
CHOOSE: [stmt_handler, stmt2_handler, return_handler],
DEC_BY_RANGE: [callbackquery_handler]
},
fallbacks=[cancel_convhandler],
run_async=True
)
dispatcher.add_handler(conversation_handler)
# dispatcher.add_error_handler(stmt_handler, run_async=True)
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论