مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ahmadi

عضویت از 1393/07/18

اجرای Quartz

  • چهارشنبه 2 اسفند 1396
  • 10:17
تشکر میکنم
public class JobOne : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            string path = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/LogOne.txt");

            using (StreamWriter sw = new StreamWriter(path, true))
            {
                sw.WriteLine("Message Job1 : " + DateTime.Now.ToString());
            }
        }
    }

در اینجا من کارهایی که میخوام انجام بدم باید بنویسم؟

public void RunTaskOne()
        {
            //DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(null, 2);

            DateTimeOffset startTime = DateBuilder.FutureDate(1, IntervalUnit.Second);

            /*ایجاد یک وظیفه جدید
             * از کلاس 
             * jobs
             * با نام
             * job1
             * */
            IJobDetail job = JobBuilder.Create<JobOne>()
                                       .WithIdentity("job1")
                                       .Build();

            //نعیین زمان های اجرا
            ITrigger trigger = TriggerBuilder.Create()
                                             .WithIdentity("trigger1")
                                             .StartAt(startTime)
                                             .WithSimpleSchedule(x => x.WithIntervalInSeconds(1).RepeatForever())  
                                             .Build();

            ISchedulerFactory sf = new StdSchedulerFactory();
            //ایجاد شی زمان بند
            IScheduler sc = sf.GetScheduler();
            //تنظیم کار و نحوه ی اجرا
            sc.ScheduleJob(job, trigger);
            //دستور شروع کار
            sc.Start();
        }

        public void PauseTaskOne()
        {
            IJobDetail job = JobBuilder.Create<JobOne>().WithIdentity("job1").Build();
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sc = sf.GetScheduler();
            sc.PauseJob(job.Key);
            sc.Start();
        }

        public void ResumeTaskOne()
        {
            IJobDetail job = JobBuilder.Create<JobOne>().WithIdentity("job1").Build();
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sc = sf.GetScheduler();
            sc.ResumeJob(job.Key);
            sc.Start();
        }

        public void KillTaskOne()
        {
            IJobDetail job = JobBuilder.Create<JobOne>().WithIdentity("job1").Build();
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sc = sf.GetScheduler();
            sc.DeleteJob(job.Key);
            sc.Start();
        }

در کد دوم کجا زمانش تعریف شده؟ من میخوام هر 10 دقیقه کارم انجام بده

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 2 اسفند 1396
  • 18:27
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)