将多个 windows 计划任务从 VM 移植到单个 Web 作业

Porting multiple windows scheduled tasks from a VM to a single web job

我是 Azure 的新手,我只是想确认我在将多个 windows 计划任务移植到 Web 作业时走在正确的轨道上。

目前我将我的 (c#) 项目部署到 VM 上的单个目录,并有一系列计划任务 运行 在不同的计划中,使用计划任务参数来确定任务 运行.

我想将它移植到 Web 作业(或任何其他相关的 Azure 无服务器应用程序),但我看到它工作的唯一方法是为每个计划作业创建一个 Web 作业。当进行代码更改并且必须部署到 20-30 个不同的位置(每个 Web 作业一个)时,这将是一个真正的痛苦。

有没有一种方法可以为我提供相当于多个 windows 计划任务 运行 宁同一个 exe?我在想可能有一个包含多个计划的 settings.job 文件,每个计划都有可选参数,但看起来这不可能。

唯一的方法是为每个计划任务创建一个单独的 Web 作业,然后将代码复制到每个 Web 作业目录,还是我错过了更简单的方法?

感谢您对此的任何帮助

史蒂夫

除了查看 BasicSamples 存储库之外,https://github.com/Azure/azure-webjobs-sdk-samples/tree/master/BasicSamples can give you a basic idea. But from what you've said, I think you can add different scheduled triggers (Timer, Queue) in a Functions.cs that's added your C# console project. Check out this quick start 中的示例还提供指导。

当涉及到您的任务参数时,我会考虑使用 Azure 存储表和 bind table 到您的 [TimerTrigger] 来提取参数数据,因此 "function" 知道该怎么做。

您可以 publish 您的项目作为网络作业,Functions.cs 中的每个触发器都应该显示在您部署到的应用服务的 Web 作业边栏下。