首页 > 解决方案 > Azure 功能:多个时间触发器

问题描述

我有一个函数可以从不同的 API 获取数据,然后执行一些操作(每个操作都完全相同)。我想为 Azure 函数中的每个数据以不同的时间间隔执行此操作(例如,我想每 10 秒下载一个数据,每 2 天下载一个数据)。是否可以在一个函数中处理这个问题,或者我应该为每个 API 创建单独的函数?

标签: pythonazure-functions

解决方案


可以使用单个函数进行处理,但由于 Timer Triggered 函数在单例机制上工作,并且它们使用 blob 租约来维持这种奇异性。如果函数调用无法获取 blob 租约,则意味着另一个函数已经在运行,并且此函数调用不会触发,因此像 10 秒这样的短周期将很难实现。请阅读本文档以了解更多详细信息。只是为了让你知道。计时器触发的函数根据其主机 ID 获取 blob 租约,默认情况下,通过截断主机名的前 32 个字符获取 blob 租约,如果这些主机 ID 与您的函数相同,它们可能会竞争相同的 blob 租约。您可以在此处参考此问题以获取更多详细信息。


推荐阅读