Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用芹菜Http回调任务重试_Python_Django_Celery - Fatal编程技术网

Python 使用芹菜Http回调任务重试

Python 使用芹菜Http回调任务重试,python,django,celery,Python,Django,Celery,我正在看http回调任务-在芹菜中。当远程端点可用时,它们可以很好地工作,但当它不可用时,我希望它重试(根据重试策略),或者即使远程端点返回失败。目前,这似乎是一个错误,任务被忽略 有什么想法吗 您应该能够定义您的任务,如: class RemoteCall(Task): default_retry_delay = 30 * 60 # retry in 30 minutes def Run(self, arg, **kwargs): try:

我正在看http回调任务-在芹菜中。当远程端点可用时,它们可以很好地工作,但当它不可用时,我希望它重试(根据重试策略),或者即使远程端点返回失败。目前,这似乎是一个错误,任务被忽略


有什么想法吗

您应该能够定义您的任务,如:

class RemoteCall(Task):
    default_retry_delay = 30 * 60 # retry in 30 minutes

    def Run(self, arg, **kwargs):
        try:
            res = URL("http://example.com/").get_async(arg)
        except (InvalidResponseError, RemoteExecuteError), exc:
            self.retry([arg], exc=exc, *kwargs)

这将继续尝试,最多重试一次,每30分钟一次

我可能弄错了-但是get_async在端点不存在时没有返回错误-所以它不会触发重试?(我可能弄错了,我仍然在想事情的发展方向。)。所以要使用这个-I(在“客户机”上)调用RemoteCall().delay()?