Bu Kereviz görev var:Bir Kereviz görevini tamam olarak işaretleme ve sonucunu ayarlama nasıl yapılır?
@app.task
def do_something(with_this):
# instantiate a class from a third party library
instance = SomeClass()
# this class uses callbacks to send progress info about
# the status and progress of what we're doing
def progress_callback(data):
# this status will change to 'finished' later
# but the return value that I want as the task result won't be returned
# so this is where I should mark the task as done manually
if data['status'] == 'working':
# I create a custom state for this task
do_something.update_state(
state = 'PROGRESS',
meta = data['progress']
)
# adding the callback to the instance
instance.add_callback(progress_callback)
# use the instance to do what I want
# this functions returns a value that I don't want as the task result
# so leaving this function without a return statement will make it None
instance.do_job(with_this)
manuel olarak nasıl yapıldığı gibi bir görevi işaretleyebilirsiniz ? Ben olsun task.result
None
yani fonksiyon herhangi return
deyimi olmadan sonuna geldiğinde bu durumda
, ben sonuç olarak geri arama işlevine aktarılan verileri ayarlamak ve tamamlandı olarak görev işaretlemek istiyorum.
app.backend.mark_as_done(do_something.request.id, data)
başarıyla devlet ve görevin sonucunu ayarlıyor ama daha sonra sonuç burada None
olan işlevin dönüş değeri olarak ayarlanır: