Azure 函数是否可以在没有绑定(计时器、主题、队列、HTTP)等的情况下运行?
我的 Azure 函数是一个进程,我希望它在循环中连续运行而不完成,除非 Azure 函数通过 UI 停止
我可以让 Azure 函数在每天运行的计时器触发器上运行,并让 Azure 函数在 23 小时 59 分钟后完成,但我不想采用这种方法。
Azure 函数是否可以在没有绑定(计时器、主题、队列、HTTP)等的情况下运行?
我的 Azure 函数是一个进程,我希望它在循环中连续运行而不完成,除非 Azure 函数通过 UI 停止
我可以让 Azure 函数在每天运行的计时器触发器上运行,并让 Azure 函数在 23 小时 59 分钟后完成,但我不想采用这种方法。
预览版中的 Azure 的 Durable Functions 可能能够实现这一点:
请参阅模式 #4,有状态的单例:https ://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-overview
虽然 Durable Functions 不是 Actor 模型的实现,但协调器函数确实具有许多相同的运行时特性。例如,它们是长时间运行的(可能是无穷无尽的)、有状态的、可靠的、单线程的、位置透明的和全局可寻址的。这使得编排器功能对于类似“演员”的场景很有用。
不,函数不适用于长时间运行的进程。
如果您的 Function App 处于消费计划中,则每次执行将在最多 10 分钟后被终止。
在固定计划中,您的解决方法可能会奏效。我仍然建议改用常规的连续应用服务 Web 作业,因为函数不会为您的方案提供任何附加值。