none
WebBackgrounder 自动任务问题 RRS feed

  • 问题

  • using System;
    using WebBackgrounder;
    
    
    [assembly: WebActivatorEx.PostApplicationStartMethod(typeof(GeelyApi.WebBackgrounderSetup), "Start")]
    [assembly: WebActivatorEx.ApplicationShutdownMethod(typeof(GeelyApi.WebBackgrounderSetup), "Shutdown")]
    namespace GeelyApi
    {
        public static class WebBackgrounderSetup
        {
            static readonly JobManager _jobManager = CreateJobWorderManager();
    
            public static int iJobCount = 1;
    
            public static void Start()
            {
                _jobManager.Start();
            }
            public static void Shutdown()
            {
                _jobManager.Dispose();
            }
            private static JobManager CreateJobWorderManager()
            {
                var jobs = new IJob[]{
                    //2分钟执行一次,每次超时时间为30秒
                    new JobMsg(TimeSpan.FromMinutes(2),TimeSpan.FromSeconds(30)),
    
                    //1小时执行一次,每次超时时间为10分钟
                    new JobFlightOrder(TimeSpan.FromHours(1),TimeSpan.FromMinutes(10)),
                };
                var coordinator = new SingleServerJobCoordinator();
                var manager = new JobManager(jobs, coordinator);
                //manager.Fail(ex => GeelyEmail.SmipleSend("wanglian@fanjia.net", "吉利Job挂了",
                //    "有" + jobs.Length + "项工作,第一项频率" + jobs[0].Interval.Seconds + "秒,超时" +
                //    jobs[0].Timeout.Seconds + "秒"
                //    + ex.ToString()));
                return manager;
            }
        }
    }

    上面是设置自动任务的地方,在上面的每2分钟执行一次的任务中,我加了跟踪(每次执行都把时间发邮件给我)。

    但是后来查看邮件,发现会有中断情况,某些时候时间不是连续的,不知道是什么情况,麻烦大家帮我分析下,谢谢


    开心了就笑,不开心了就过会儿再笑

    2015年6月2日 1:25

答案

  • http://blogs.msdn.com/b/scott_hanselman/archive/2014/12/22/asp-net.aspx

    这个文章讲的几种机制,好像不错


    开心了就笑,不开心了就过会儿再笑

    2015年6月2日 1:28