Ejemplo n.º 1
0
        public static void jobCallback(object state)
        {
            WebJob job     = (WebJob)state;
            Timer  mytimer = timers[job];

            mytimer.Change(Timeout.Infinite, job.Interval);

            IWebJobItem obj = ObjectContext.GetByType(job.Type) as IWebJobItem;

            if (obj == null)
            {
                logger.Info("job[" + job.Name + "] type does not exists:" + job.Type);
                return;
            }

            try {
                obj.Execute();
            }
            catch (Exception ex) {
                logger.Error(ex.Message + Environment.NewLine + ex.StackTrace);
            }
            finally {
                obj.End();
                DbContext.closeConnectionAll();
                mytimer.Change(job.Interval, job.Interval);
            }
        }
Ejemplo n.º 2
0
        private string getLinkStop( WebJob job ) {

            if (job.IsRunning)
                return string.Format( "<span class=\"running\">{1} <span href=\"{0}\" class=\"stopCmd cmd\">{2}</span></span>", to( Stop, job.Id ), lang( "running" ), lang( "jobStop" ) );
            else
                return string.Format( "<span class=\"stopped\">{1} <span href=\"{0}\" class=\"startCmd cmd\">{2}</span></span>", to( Start, job.Id ), lang( "stopped" ), lang( "jobStart" ) );

        }
Ejemplo n.º 3
0
        private static void startJob()
        {
            IList jobs = new WebJob().findAll();

            foreach (WebJob job in jobs)
            {
                if (job.Interval <= 0)
                {
                    logger.Warn("job is invalid, name:" + job.Name + ", type:" + job.Type + ", interval:" + job.Interval);
                    continue;
                }

                if (job.IsRunning == false)
                {
                    continue;
                }

                timers.Add(job, new Timer(new TimerCallback(jobCallback), job, job.Interval, job.Interval));
            }
        }
Ejemplo n.º 4
0
        private static void startJob()
        {
            IList jobs = new WebJob().findAll();
            foreach (WebJob job in jobs) {

                if (job.Interval <= 0) {
                    logger.Warn( "job is invalid, name:" + job.Name + ", type:" + job.Type + ", interval:" + job.Interval );
                    continue;
                }

                if (job.IsRunning == false) continue;

                timers.Add( job, new Timer( new TimerCallback( jobCallback ), job, job.Interval, job.Interval ) );
            }
        }