Python 将芹菜任务从其他项目排队

Python 将芹菜任务从其他项目排队,python,celery,Python,Celery,我有一个项目使用芹菜来处理任务,还有一个项目是API,它可能需要将芹菜工人处理的任务排队。 但是,这两个项目是分开的,我不能在API中导入任务 我过去曾使用过Sidekiq——在Ruby中相当于芹菜的Sidekiq——例如,如果使用相同的格式/负载,则可以通过在Redis中存储来自其他语言/应用程序/进程的数据来推送作业 芹菜也可以做类似的事情吗?我找不到任何相关信息。是的,这可以在芹菜中使用send\u task或signatures。假设fetch\u data是单独代码库中的函数,您可以使

我有一个项目使用芹菜来处理任务,还有一个项目是API,它可能需要将芹菜工人处理的任务排队。 但是,这两个项目是分开的,我不能在API中导入任务

我过去曾使用过Sidekiq——在Ruby中相当于芹菜的Sidekiq——例如,如果使用相同的格式/负载,则可以通过在Redis中存储来自其他语言/应用程序/进程的数据来推送作业


芹菜也可以做类似的事情吗?我找不到任何相关信息。

是的,这可以在芹菜中使用
send\u task
signatures
。假设
fetch\u data
是单独代码库中的函数,您可以使用以下方法之一调用它

发送任务

celery_app.send_task('fetch_data', kwargs={'url': request.json['url']})
app.signature

celery_app.signature('fetch_data', kwargs={'url': request.json['url']).delay()
您只需将函数名指定为字符串,无需将其导入代码库


您可以从

了解更多详细信息。是的,这可以在芹菜中使用
发送任务
签名
。假设
fetch\u data
是单独代码库中的函数,您可以使用以下方法之一调用它

发送任务

celery_app.send_task('fetch_data', kwargs={'url': request.json['url']})
app.signature

celery_app.signature('fetch_data', kwargs={'url': request.json['url']).delay()
您只需将函数名指定为字符串,无需将其导入代码库

您可以从以下网站了解更多详细信息: