假设我有三台服务器 A、B 和 C。服务器 C 将具有 celery 任务代码,我需要从服务器 A 和 B 执行它们。
从 celery文档中,我看到有一个task.py文件作为 celery 工作人员运行
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
Run Code Online (Sandbox Code Playgroud)
然后我们有另一个 python 文件(假设client.py)调用这些任务。
from tasks import add
add.delay(4, 4)
Run Code Online (Sandbox Code Playgroud)
在这里我可以看到该client.py文件依赖于该tasks.py文件,因为它是task从tasks.py文件导入的。如果我们要在单独的服务器中运行这两个文件,我们需要将它们解耦并以某种方式调用任务,而无需导入代码。我不知道如何实现这一目标。那么,如何才能做到呢?
| 归档时间: |
|
| 查看次数: |
2096 次 |
| 最近记录: |