2024-10-06 12:09:41 发布
网友
我正试图找出如何用Celery实现我的异步作业,而不是将它们与Celery实现捆绑在一起。在
如果我有一个接口接受要调度的对象,例如可调用对象(或包装可调用对象的对象):
ITaskManager(Interface): def schedule(task): #eventually run task
我可以用踩踏模块来实现:
但看来芹菜是做不到的,对吧?在
也许有一种解决方案,尽管很难看,但可以定义一个芹菜任务,动态加载作为参数传递的任务对象:
@celery.task def taskrunner(taskname): taskModule = __import__(taskname) taskModule.run() CeleryTaskManager(object) def schedule(task): taskrunner.delay(task.__file__) from mytask import run CeleryTaskManager().schedule(run)
也许有一种解决方案,尽管很难看,但可以定义一个芹菜任务,动态加载作为参数传递的任务对象:
相关问题 更多 >
编程相关推荐