nonebot / plugin-apscheduler

APScheduler Support for NoneBot2
https://nonebot.dev/docs/best-practice/scheduler
MIT License
83 stars 9 forks source link

启动任务问题 #9

Closed kentelove closed 2 years ago

kentelove commented 2 years ago

apscheduler_autostart = false 后, 怎么在程序运行时,启动?

yanyongyu commented 2 years ago

自行使用scheduler.start()

kentelove commented 2 years ago

设置 apscheduler_autostart = false 后,

代码: def play_game(): print('你好呀!')

scheduler = require("nonebot_plugin_apscheduler").scheduler job = scheduler.add_job(play_game, 'interval', seconds=3) scheduler.start()

不报错,但任务不起动.运行.还请大佬指导..

yanyongyu commented 2 years ago

在你需要启动scheduler的时候,调用scheduler.start()。默认autostart会在bot启动时启动schduler

kentelove commented 2 years ago

在你需要启动scheduler的时候,调用scheduler.start()。默认autostart会在bot时启动schduler

照大佬说的,在需要的事件里调用, scheduler.start() 确实成功了. 但我没有搞懂,这个区别在哪里?

我上面的代码,为什么就不成功呢? 好像,就是调用 scheduler.start() 的时间不同.

yanyongyu commented 2 years ago

scheduler应该在server进程中进行启动,而不是在主进程里启动,例如使用driver.on_startup时启动scheduler(即autostart行为)

kentelove commented 2 years ago

学习了..谢谢您!