[英]How to call celery task with class based method?
我有 class:
class Parser:
def __init__(self):
self.OM = Omni() # Creates an class object, which makes auth on the web site, for scrapping
@app.task
def foo(self, data):
self.OM.parse(data)
那么如何使用 foo 方法調用任務呢? 因為當我嘗試這樣做時,我會出錯:缺少參數數據。 我認為這是因為調用該方法獲取數據作為自我參數
prs = Parser()
prs.foo.delay(data)
我該如何解決?
在 Celery 3.x 中可以從方法創建任務,但在 Celery 4.0 中被刪除,因為它太有問題了。
我會創建一個小幫手 function:
class Parser:
def __init__(self):
self.OM = Omni() # Creates an class object, which makes auth on the web site, for scrapping
def foo(self, data):
self.OM.parse(data)
@app.task
def foo_task(data)
prs = Parser()
parser.foo(data)
foo_task.delay(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.