这可能是一个新手问题。我有一个响应HTTP请求的Azure函数,它工作正常,我可以从浏览器或Python 3.8脚本调用它。我想制作另一个函数,该函数将具有并将按计划调用。Timer TriggerHTTP trigger functionHTTP Trigger function返回一个包含执行结果的简单字符串。现在我的代码正在使用Python,它每次都可以在本地工作,但是当部署到Azure时,它只能工作1/10次。其他时候,当它达到 30 分钟的超时时,它会返回错误。整个事情最多只能运行1-2分钟,所以我不明白它在哪里卡住。Timer trigger functionRequests成功后,它可以工作(我可以在后端看到),但在azure日志中,记录器保存页面html而不是应该返回的字符串。HTTP trigger script404 errorHTTP trigger function以下是计时器触发函数的代码:import datetimeimport loggingimport azure.functions as funcimport requestsdef 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}')如何排除故障或解决此问题?日志记录问题并不那么重要,但超时问题必须以某种方式解决,我不知道从哪里开始,因为它在本地工作得很好。
2 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
根据一些测试,我遇到了与你的类似的问题。我用默认代码创建了一个HttpTrigger(我在其中添加了一行)。然后我创建了一个计时器触发器(cron表达式是)与模块调用 HttpTrigger 函数。这两个函数都在一个函数应用程序中,似乎问题是由两个函数相互交互引起的,但我不知道为什么。所有这两个函数的代码看起来都很好。time.sleep(20)
0 */1 * * * *
requests
对于解决方法,我在不同的函数应用中创建两个函数(HttpTrigger 和计时器触发器),并将它们部署到 Azure 中的两个函数应用。然后它工作正常,它们不会相互交互。
希望对您有所帮助〜
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
添加回答
举报
0/150
提交
取消