Làm cách nào tôi có thể nhận giá trị task_id cho tác vụ từ bên trong tác vụ? Dưới đây là mã của tôi:Cần tây - Nhận id tác vụ cho tác vụ hiện tại
from celery.decorators import task
from django.core.cache import cache
@task
def do_job(path):
"Performs an operation on a file"
# ... Code to perform the operation ...
cache.set(current_task_id, operation_results)
Ý tưởng là khi tôi tạo một đối tượng mới của nhiệm vụ, tôi lấy task_id
từ đối tượng nhiệm vụ. Sau đó tôi sử dụng id tác vụ để xác định xem tác vụ đã hoàn thành chưa. Tôi không muốn theo dõi tác vụ theo giá trị path
vì tệp được "dọn sạch" sau khi tác vụ hoàn tất và có thể tồn tại hoặc không tồn tại.
Trong ví dụ trên, làm cách nào để nhận được giá trị current_task_id
?
Điều này không được chấp nhận như Celery 2.2.0 (xem câu trả lời bên dưới). – Simon