繁体   English   中英

如何在循环上只运行一次 function?

[英]How do I run a function on a loop just once?

on_ready中,我像这样在循环中运行永恒的 function:

@bot.event
async def on_ready():
    bot.loop.create_task(some_function())

但是随后此功能会运行多次(可能是因为 pm2 自动重启)。 我怎样才能确保这个 function 只运行了一次?

您可以设置 boolean 标志来记录您已调用create_task 仅当您以前从未调用过它时才调用它:

done = False

@bot.event
async def on_ready():
    if not done:
        bot.loop.create_task(some_function())
        done = True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM