将异步函数(更改频道名称)传递给线程
Pass async function (changes channel name) into thread
我正在尝试将异步函数传递给@tasks.loop 线程,因为如果不使用线程,我的命令只有在任务完成后才能工作。但是,我尝试每 5 分钟执行一次的任务是更改频道名称,但它不起作用。我收到 Timeout context manager should be used
错误。
async def change_name()
channel = client.get_channel(chid)
await chid.edit(name='yes')
@tasks.loop(minutes=5)
async def loop():
_thread = threading.Thread(target=asyncio.run,args=())
_thread.start()
loop.start()
您可以尝试 python-worker
(link)
from worker import async_worker
@async_worker
async def change_name()
channel = client.get_channel(chid)
await chid.edit(name='yes')
@tasks.loop(minutes=5)
async def loop():
await change_name()
loop.start()
您的 change_name
将 运行 自动作为线程
我正在尝试将异步函数传递给@tasks.loop 线程,因为如果不使用线程,我的命令只有在任务完成后才能工作。但是,我尝试每 5 分钟执行一次的任务是更改频道名称,但它不起作用。我收到 Timeout context manager should be used
错误。
async def change_name()
channel = client.get_channel(chid)
await chid.edit(name='yes')
@tasks.loop(minutes=5)
async def loop():
_thread = threading.Thread(target=asyncio.run,args=())
_thread.start()
loop.start()
您可以尝试 python-worker
(link)
from worker import async_worker
@async_worker
async def change_name()
channel = client.get_channel(chid)
await chid.edit(name='yes')
@tasks.loop(minutes=5)
async def loop():
await change_name()
loop.start()
您的 change_name
将 运行 自动作为线程