Open bluebad opened 2 hours ago
以下是我的任务函数
@boost(BoosterParams(queue_name='task_queue_my_task', broker_kind=BrokerEnum.SQLITE_QUEUE)) def my_task(): # 执行任务 # 发布本任务 my_task.publish({}, priority_control_config=PriorityConsumingControlConfig(countdown=TASK_INTERVAL))
这样写目的是想,任务完成之后,间隔多少时间,再次运行,因为任务本身可能比较耗时,不能做到正常的间隔执行,因而用这种方法。但是报错了: RuntimeError: cannot schedule new futures after interpreter shutdown 好像是执行该任务的进程在下次任务唤醒时就已经销毁了,那么,我的需求怎么实现呢,是不是还有其它办法?
这个问题很典型,主线程退出了,因为funboost没有主线程运行,你在你脚本代码最末尾加个while 1:time.sleep(100),阻止主线程退出就行了。
文档也有写这个报错的。
以下是我的任务函数
这样写目的是想,任务完成之后,间隔多少时间,再次运行,因为任务本身可能比较耗时,不能做到正常的间隔执行,因而用这种方法。但是报错了: RuntimeError: cannot schedule new futures after interpreter shutdown 好像是执行该任务的进程在下次任务唤醒时就已经销毁了,那么,我的需求怎么实现呢,是不是还有其它办法?