Python Discord 机器人停止进程
Python Discord bot stops process
我正在制作一个不和谐的机器人,它表现得很有趣,出于某种原因,在几个随机小时后它就停止执行其主要功能,即:
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()
一段时间后自动关闭进程的代码或程序中是否有原因?
你能帮我重新启动命令吗?
为什么不在 运行 命令读取文件时?
你可以尝试用“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()
我正在制作一个不和谐的机器人,它表现得很有趣,出于某种原因,在几个随机小时后它就停止执行其主要功能,即:
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()
一段时间后自动关闭进程的代码或程序中是否有原因? 你能帮我重新启动命令吗?
为什么不在 运行 命令读取文件时?
你可以尝试用“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()