gpt4 book ai didi

python - 如何为 Heroku 上部署的电报机器人编写定期重复的函数

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:50 26 4
gpt4 key购买 nike

我编写了一个函数,应该在特定时间向用户发送消息:

def send_wishes_loop():
connection = psycopg2.connect(...)
cursor = connection.cursor()
hour = datetime.datetime.now().hour

cursor.execute("""SELECT userid FROM usersdata WHERE morning_time={}""".format(hour))
for userid in cursor:
if userid:
bot.send_message(userid[0] , random.choices(wishes_list.good_morning_wishes))
....

cursor.close()
connection.commit()
time.sleep((61-datetime.datetime.now().minute)*60))

并将其放在单独的线程中

t1 = Thread(target=bot.polling())
t2 = Thread(send_wishes_loop())
t1.start()
t2.start()

但是它不起作用。我该如何实现这个功能,修复它?在 Heroku 文档中,我读到了有关 Heroku Scheduler 的内容,但不明白如何使用它。请帮帮我...

最佳答案

一种选择是使用 Heroku Scheduler。

我建议您定义一个脚本(使用 if __name__ == '__main__':)来调用您的函数 send_wishes_loop() (最后一行不包含 sleep )。

您将脚本添加到 Heroku Scheduler作为一项新工作。正如您在文档中看到的,有一个很好的 Web 界面,您只需添加脚本的调用(可能类似于 python your_script.py)并设置间隔。

关于python - 如何为 Heroku 上部署的电报机器人编写定期重复的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55076126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com