我们有一个运行时间很长的操作(可能是几天),我们希望从写入 Azure 存储的 BLOB 文件触发该操作。这项工作可以一年开始一次,从不开始,也可以在几天内开始多次。
Azure Batch作业看起来与我们需要的完全一样,假设批处理作业在运行时不需要“观察者”进程。例如,如果我们可以让 Azure Function 捕获 BLOB 事件,启动 Batch 作业,以“触发后忘记”类型的方式启动作业,然后 Function 结束,这正是我们所需要的。我们并不太担心报告作业的进度(我们为此使用了一个 SQL 表),我们只想启动作业然后在带外监视它。
有没有办法启动批处理作业并让发起者进程在作业继续在后台运行时消失?如果没有,有没有办法做到这一点而不必有一个不断运行的进程(Worker Role 或 Fabric Worker)?我们试图避免在 99.9% 的时间没有做任何事情的情况下让进程(Worker/Fabric 角色、使用 App 功能计划的功能等)一直运行。