每个触发器执行多次的 Azure Chron Webjob

Azure Chron Webjob Executing Multiple Times per Trigger

我已经将 chron 作业设置为每 5 分钟 运行,但在门户日志中我似乎总是每个 运行 有 10 个函数调用日志。这是我工作中最高级别的部分:

 public class ShipOrderJob
{
    private IShipDateMetBll _shipDateMetBll;
    private Serilog.ILogger _log;
    public ShipOrderJob(Serilog.ILogger log)
    {
        _log = log;
    }

    public void ProcessQueueMessage([TimerTrigger("* */5 * * * *", RunOnStartup = true)]
    TimerInfo info,
    Serilog.ILogger log)
    {

        using (ThreadScopedLifestyle.BeginScope(Program.Container))
        {
            _shipDateMetBll = Program.Container.GetInstance<IShipDateMetBll>();
            _shipDateMetBll.ResetLogger(_log);
            _shipDateMetBll.DecorateLogger(log);
            _shipDateMetBll.MoveB2BOrdersIntoProcessingIfShipDateTimeMet();
        }

    }
}  

我的日志是这样的:

我也知道有一个问题,因为我将 serilogger 连接到 slack,今天 webjob 崩溃了。我没有收到一条错误消息,而是在一秒钟内收到了 6 条相同的错误消息。

我试过的:

我检查了缩放选项卡以确保我们没有 6 个实例 运行ning。我们只有一个运行ning。我的计时计时器似乎是正确的,该功能应该只 运行 每 5 分钟一次。唯一可怕的是我使用的是 Microsoft.Azure.WebJobs

的预发布版本

问题与您当前的 CRON 设置有关。

基本上* = 每个

所以表达式 * */5 * * * * 意味着它将每 5 分钟每秒 运行。

表达式 0 */5 * * * * 表示它将 运行 每 5 分钟一次。