это наверное нубский вопрос. У меня есть Azure функция, которая отвечает на запросы HTTP, и она работает нормально, я могу вызвать ее из браузера или из скрипта Python 3.8.
Я хочу создать другую функцию, которая будет иметь Timer Trigger
и вызовет HTTP trigger function
по расписанию.
HTTP Trigger function
возвращает простую строку с результатами выполнения.
Теперь мой код для Timer trigger function
использует Python Requests
и он работает локально каждый раз, но будет работать только 1/10 раз при развертывании на Azure. В других случаях он возвращает ошибку, когда достигает тайм-аута 30 минут. Все это должно длиться не более 1-2 минут, поэтому я не понимаю, где оно застревает.
В случае успеха это работает (я вижу в серверной части HTTP trigger script
), но в azure регистрирует, что регистратор сохраняет 404 error
страницу html вместо строки, которую HTTP trigger function
должна вернуть.
Вот код функции Timer Trigger:
import datetime
import logging
import azure.functions as func
import requests
def main(mytimer: func.TimerRequest) -> None:
URL = "https://rob-functions.azurewebsites.net/api/ss_kite_scrape_http"
r = requests.get(url = URL)
data = r.text
logging.info(f'TIMER TRIGGER HAS RUN. RESULT:{data}')
Как устранить неполадки или почини это? Проблема с журналированием не так важна, но проблема с тайм-аутом должна быть каким-то образом исправлена, и я не знаю, с чего начать, так как она отлично работает локально.