FastWorkWorkerPxoxyModule/HangFires/PeriodicWorkerPxoxy.cs

(完整代码) 1KB

using Abp.Threading.Timers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ABPCMS.HangFires
{
    public class PeriodicWorkerPxoxy : IBackgroudWorkerProxy
    {
        private Action ExetuteMethod { get; set; }
        protected readonly AbpTimer Timer;
        public PeriodicWorkerPxoxy(AbpTimer timer)
        {
            Timer = timer;
            Timer.Elapsed += Timer_Elapsed;
        }

        private void Timer_Elapsed(object sender, EventArgs e)
        {
            try
            {
                DoWork();
            }
            catch (Exception ex)
            {

            }
        }

        public void Excete<T>(Action method, WorkerConfig config) where T : IBackgroundWorkerDo
        {
            ExetuteMethod = method;
            Timer.Period = config.IntervalSecond * 1000;//将传入的秒数转化为毫秒
            Timer.Start();
        }

        protected void DoWork()
        {
            ExetuteMethod();
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。