celery links和depend_on
时间: 2024-02-07 20:02:07 浏览: 29
Celery是一个分布式任务队列,links和depend_on都是用于任务之间的依赖关系。
links是指当一个任务执行完毕后,它会通知其他任务,这些任务可以在其执行之前等待该任务完成。举个例子,假设我们有三个任务A、B和C,其中任务C依赖于任务B,任务B又依赖于任务A。我们可以在任务B中设置一个links参数,使其在执行完毕后通知任务C,代码如下:
``` python
@app.task
def task_A():
pass
@app.task
def task_B():
pass
@app.task
def task_C():
pass
task_A.delay()
task_B.delay().set(links=task_C)
task_C.delay()
```
在上面的代码中,我们使用了set方法将links参数设置为task_C,这样当task_B执行完毕后,它会通知task_C,task_C才能开始执行。
depend_on是指一个任务在执行之前必须要等待其他任务完成,它可以用来控制任务执行的顺序。举个例子,假设我们有两个任务A和B,任务B依赖于任务A,我们可以在任务B中设置depend_on参数,使其在执行之前等待任务A完成,代码如下:
``` python
@app.task
def task_A():
pass
@app.task
def task_B():
pass
task_A.delay()
task_B.delay().set(dependencies=[task_A])
```
在上面的代码中,我们使用了set方法将depend_on参数设置为task_A,这样当task_B开始执行时,它会等待task_A执行完成后再开始执行。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)