Я просмотрел документы здесь: https://cloud.google.com/appengine/docs/python/urlfetch/ и здесь: https://cloud.google.com/appengine/articles/deadlineexceedederrors?hl=enApp Engine Python UrlFetch.set_default_fetch_deadline
Я также нашел этот вопрос переполнения стека, которая относится к моему вопросу: How to set timeout for urlfetch in Google App Engine?
Я нахожусь подключаясь из приложения моего приложения к внешнему веб-сервису, и у меня нет контроля над ним. Иногда запросы занимают более 60 секунд. Я установил приложение для использования очереди задач отложенного приложения api.
Я так смущен. В документах, которые я прочитал, кажется, что urlfetch имеет максимальный срок в 60 секунд. Но если его запуск в task_queue составляет 10 минут? Мне действительно нужен кто-то, чтобы прояснить это для меня.
Означает ли это, что задача состоит из 10 минут, но значение urlfetch внутри задачи по-прежнему ограничено 60 секундами?
псевдокод:
myTask = newTask()
deffered.defer(myTask.long_process, _queue="myqueue")
class newTask:
url = "https://example.com"
def long_process(self):
#will setting the deadline to more than 60 seconds work or not?
urlfetch.set_default_fetch_deadline(120)
data = {}
resp = urlfetch.fetch(self.url, method="POST", payload=data)
#do something with resp....