iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
Modern Web

30Day啟動!!系列 第 24

Day24-定義和執行 Celery 任務

  • 分享至 

  • xImage
  •  

什麼是 Celery 任務?
在 Celery 中,任務是異步執行的工作單位。每個任務都是一個獨立的 Python 函數,可以接受任意數量的參數並返回結果。讓我們來看一個實際的例子:

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,並返回它們的總和。

如何執行 Celery 任務?
要執行 Celery 任務,我們可以使用 delay 方法。這個方法允許我們以異步方式呼叫 Celery 任務並取得結果。

以下是一個示例:

from celery_example import add

result = add.delay(4, 6)
print(result.get())

在這個代碼中,我們使用 add.delay(4, 6) 來呼叫 add 任務,並傳遞兩個參數 4 和 6。接著,我們使用 result.get() 來取得任務的結果。

當你執行這個代碼時,你應該會看到 10 被打印出來,這是 add 任務的返回值。

傳遞和處理參數
Celery 任務可以接受任意類型的參數,包括字符串、數字、列表等。你可以根據你的需求自由定義任務的參數和返回值。

要注意,Celery 的任務參數應該是可序列化的,這樣它們才能在不同的進程或機器上傳遞。


上一篇
Day23- Celery安裝與設定
下一篇
Day25-celery 參數傳遞和結果處理
系列文
30Day啟動!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言