iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Modern Web

30Day啟動!!系列 第 25

Day25-celery 參數傳遞和結果處理

  • 分享至 

  • xImage
  •  

傳遞參數給 Celery 任務
Celery 允許你輕鬆地將參數傳遞給你的任務。在前一篇文章中,我們已經看到了如何定義接受參數的任務,現在讓我們來看一個實際的例子:

celery_example.py

from celery import Celery

app = Celery('celery_example', broker='pyamqp://guest@localhost//')

@app.task
def add(x, y):
return x + y

在這個例子中,我們定義了一個名為 add 的 Celery 任務,該任務接受兩個參數 x 和 y,並返回它們的總和。

要呼叫這個任務並傳遞參數,只需使用 delay 方法:

from celery_example import add

result = add.delay(4, 6)

在這個例子中,我們呼叫 add 任務,並傳遞了兩個參數 4 和 6。這些參數將在任務中使用。

處理 Celery 任務的結果
當你使用 delay 方法執行 Celery 任務時,它會立即返回一個 AsyncResult 對象,這個對象代表了執行中的任務。你可以使用 get 方法來獲取任務的結果:
result = add.delay(4, 6)
result_value = result.get()
print(result_value)

在這個例子中,result.get() 會等待任務完成,然後返回結果,我們將結果打印出來。當你執行這個代碼時,你應該會看到 10 被打印出來,這是 add 任務的返回值。


上一篇
Day24-定義和執行 Celery 任務
下一篇
Day26-設置 Celery
系列文
30Day啟動!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言