Python 芹菜任务功能-web服务器与远程服务器

Python 芹菜任务功能-web服务器与远程服务器,python,django,celery,worker,Python,Django,Celery,Worker,我愿意将任务从一个web服务器(运行Django)发送到一个远程机器,该机器包含一个Rabbitmq服务器和一些我用芹菜实现的工作程序 如果我走芹菜的路,似乎我必须在两台机器之间共享代码,这意味着在web应用程序代码中复制workers逻辑代码 因此: 有这样做的最佳实践吗?由于代码是冗余的,我正在考虑使用git子模块(=>在web应用程序代码repo和workers代码repo中复制) 那我最好用芹菜以外的东西吗 我错过什么了吗 管理这一点的一种方法是将员工存储在django项目中。Djan

我愿意将任务从一个web服务器(运行Django)发送到一个远程机器,该机器包含一个Rabbitmq服务器和一些我用芹菜实现的工作程序

如果我走芹菜的路,似乎我必须在两台机器之间共享代码,这意味着在web应用程序代码中复制workers逻辑代码

因此:

  • 有这样做的最佳实践吗?由于代码是冗余的,我正在考虑使用git子模块(=>在web应用程序代码repo和workers代码repo中复制)
  • 那我最好用芹菜以外的东西吗
  • 我错过什么了吗

管理这一点的一种方法是将员工存储在django项目中。Django和芹菜玩得很好,允许您在芹菜应用程序中使用Django项目的一部分


部署这将意味着您的web应用程序将不会使用芹菜工人所涉及的模块,并且在芹菜机器上永远不会使用django视图等。这通常只会导致几兆未使用的django应用程序代码…

一种管理方法是将工作人员存储在django项目中。Django和芹菜玩得很好,允许您在芹菜应用程序中使用Django项目的一部分


部署这将意味着您的web应用程序将不会使用芹菜工人所涉及的模块,并且在芹菜机器上永远不会使用django视图等。这通常只会导致几兆未使用的django应用程序代码…

一种管理方法是将工作人员存储在django项目中。Django和芹菜玩得很好,允许您在芹菜应用程序中使用Django项目的一部分


部署这将意味着您的web应用程序将不会使用芹菜工人所涉及的模块,并且在芹菜机器上永远不会使用django视图等。这通常只会导致几兆未使用的django应用程序代码…

一种管理方法是将工作人员存储在django项目中。Django和芹菜玩得很好,允许您在芹菜应用程序中使用Django项目的一部分


部署这将意味着您的web应用程序将不会使用芹菜工人所涉及的模块,并且在芹菜机器上永远不会使用django视图等。这通常只会导致几兆未使用的django应用程序代码…

您可以使用
send\u task
。它采用与apply_async相同的参数,但您只需给出任务名称。无需在django中加载模块,即可发送任务:

app.send_task('tasks.add', args=[2, 2], kwargs={})

您可以使用
发送任务
。它采用与apply_async相同的参数,但您只需给出任务名称。无需在django中加载模块,即可发送任务:

app.send_task('tasks.add', args=[2, 2], kwargs={})

您可以使用
发送任务
。它采用与apply_async相同的参数,但您只需给出任务名称。无需在django中加载模块,即可发送任务:

app.send_task('tasks.add', args=[2, 2], kwargs={})

您可以使用
发送任务
。它采用与apply_async相同的参数,但您只需给出任务名称。无需在django中加载模块,即可发送任务:

app.send_task('tasks.add', args=[2, 2], kwargs={})

事实上,这正是我想要的。不过,最好描述一个关于如何共享“任务名称”(任务函数的虚线路径)的良好实践。是的,默认情况下,任务名称是完整的python模块路径:“myproject.jobs.my_task”。你可以用decorator重命名它,但我个人更喜欢默认值。事实上,这正是我想要的。不过,最好描述一个关于如何共享“任务名称”(任务函数的虚线路径)的良好实践。是的,默认情况下,任务名称是完整的python模块路径:“myproject.jobs.my_task”。你可以用decorator重命名它,但我个人更喜欢默认值。事实上,这正是我想要的。不过,最好描述一个关于如何共享“任务名称”(任务函数的虚线路径)的良好实践。是的,默认情况下,任务名称是完整的python模块路径:“myproject.jobs.my_task”。你可以用decorator重命名它,但我个人更喜欢默认值。事实上,这正是我想要的。不过,最好描述一个关于如何共享“任务名称”(任务函数的虚线路径)的良好实践。是的,默认情况下,任务名称是完整的python模块路径:“myproject.jobs.my_task”。您可以使用decorator重命名它,但我个人更喜欢默认值。