是否可以安排 azure 中的函数每两周在一周中的特定一天(例如星期一)运行? 或者至少在每个月的第一个星期一运行?
我尝试类似的东西
0 0 1-7,15-21 1 * 1
但每逢 1-7 日、15-21 日和星期一运行。我想将 1-7 和 15-21 更改为星期一。
最佳答案
我想不出一种方法来“优雅地”完成你所要求的事情。 Azure 看起来确实接受 TimeSpan 字符串作为输入。因此,如果您希望函数每两周运行一次(而不是一周中的特定一天),您可以使用以下命令:
[TimerTrigger("14.00:00:00")]
如果您想从一周中的特定一天开始每两周运行一次,您只需在您关注的一周中的特定一天发布您的函数即可。
假设您还想在发布函数的当天运行该函数,您可以像这样设置 TimerTrigger
:
[TimerTrigger("14.00:00:00", RunOnStartup = true)]
然后在同一天发布您的函数。
这更像是一个实现你所要求的事情的黑客,8个月后这就是你所得到的:)
如果您想以更多的编程方式执行此操作,您可以使用 TimerTrigger
,例如
[TimerTrigger("0 0 0 * * Monday")]
当你的函数执行时,检查你是在偶数周还是奇数周并提前返回 - 有效地每两周运行一次:
if ((DateTime.Now.DayOfYear / 7) % 2 == 0) return;
关于Azure Cron 计划每两周的星期一触发(触发一个星期一而不是另一个,重复),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63107610/