【问题标题】:Python Discord bot stops processPython Discord bot 停止进程
【发布时间】:2021-10-09 00:12:07
【问题描述】:

我正在制作一个不和谐的机器人,它的行为很有趣,由于某种原因,随机几个小时后它就停止了它的主要功能,即:

async def get_data():
while True:
    global data
    global data_1
    data_1 = data
    geting_data = opener.open(f"{api_url}{theme}/?selections={selection}&key={api_key}").read()
    data = json.loads(getting_data)
    await asyncio.sleep(30.1)

@bot.event
async def on_ready():
   print("ready")
   await get_data()

我希望 get_data 永远运行。 (它托管在 heroku 上)该机器人在线并且正在工作,但 get_data 在某些时候卡住了,我必须手动重置 Heroku 上的机器人以使其正常工作。 我也在寻找一个命令,我可以通过 Discord 命令手动重新启动它(类似于

@bot.command()
    async def restart(ctx):
    get_data.terminate
    await get_data()

代码或程序中是否有原因在一段时间后自动关闭进程? 你能帮我重新启动命令吗?

【问题讨论】:

    标签: python heroku discord


    【解决方案1】:

    为什么不运行命令读取文件?

    您可以尝试使用“bot.loop.create_task(get_data())”替换“await get_data()” 或使用“线程”

    import time 
    import threading
    def get_data():
        global data
        global data_1
        while True:
            data_1 = data
            geting_data = opener.open(f"{api_url}{theme}/?selections={selection}&key={api_key}").read()
            data = json.loads(getting_data)
            time.sleep(30.1)
    
    threading.Thread(target=get_data()).start()
    

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 2021-11-14
      • 1970-01-01
      • 2019-07-24
      • 2019-02-10
      • 2021-07-18
      • 2021-08-30
      • 1970-01-01
      • 2023-01-23
      相关资源
      最近更新 更多