Đối với một nhiệm vụ như thế này:nhiệm vụ Thử lại cần tây với mũ lại tắt
from celery.decorators import task
@task()
def add(x, y):
if not x or not y:
raise Exception("test error")
return self.wait_until_server_responds(
nếu nó ném một ngoại lệ và tôi muốn thử nó từ phía daemon, làm thế nào có thể áp dụng một mũ quay trở lại thuật toán, tức là sau khi 2^2, 2^3,2^4
vv giây?
Cũng là thử lại được duy trì từ phía máy chủ, sao cho nếu nhân viên đó bị giết thì nhân viên tiếp theo sẽ sinh ra nhiệm vụ thử lại?
Bạn có biết đây là lần thử lại phía máy chủ hay ứng dụng khách được giữ không? Nếu khách hàng được giữ để chờ đợi thì nó xấu. –
Theo như tôi biết thuộc tính đếm ngược đặt dấu phẩy cho tác vụ tại phần phụ trợ MQ (ví dụ: RabbitMQ). Vì vậy, nó không được đặt ở phía khách hàng. – idanzalz
khách hàng không được chờ đợi trừ khi bạn thực hiện 'result.get()' là một yêu cầu rõ ràng để chờ kết quả sẵn sàng, nhưng cũng có một đối số hết thời gian và có trạng thái RETRY để bạn có thể kiểm tra xem tác vụ có đang được thử lại (và lý do để thử lại là gì) – asksol