首页 > 解决方案 > 在 .Net Core 中创建每周运行的调度程序

问题描述

我们如何创建每周运行指定时间的调度程序服务,如下所示:每周星期一早上 6 点开始。

提前致谢。

这是我现在的代码,但它只是多次重复调度程序。不是我想要的:

public class KinesisScheduler: IHostedService, IDisposable
    {
        private readonly IKinesisConsumerService _kinesisService;
        private Timer _timer;

        public KinesisScheduler(IKinesisConsumerService kinesisService)
        {
            _kinesisService = kinesisService;
        }

        public Task StartAsync(CancellationToken cancellationToken)
        {

            _timer = new Timer(DoWork, null, TimeSpan.Zero,
                TimeSpan.FromMinutes(5));

            return Task.CompletedTask;
        }

        private void DoWork(object state)
        {
            _kinesisService.Get();
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {

            _timer?.Change(Timeout.Infinite, 0);

            return Task.CompletedTask;
        }

        public void Dispose()
        {
            _timer?.Dispose();
        }
}

标签: asp.net-core.net-corescheduler

解决方案


推荐阅读