在托管服务器中定期安排任务c#

时间:2015-07-10 09:42:26

标签: c#

我需要在一定时间间隔后与ftp服务器通信并将其托管在云中。要在托管服务器中运行计划任务,我该怎么办?如果有人能指出我有用的在线资源,那就太好了。

先谢谢..

3 个答案:

答案 0 :(得分:1)

大多数云环境都有某种调度程序。例如Azure。 此外,可以在Scott Hanselmans的文章here中找到相当不错的调度库列表。

答案 1 :(得分:1)

我使用 Quartz ,它非常棒且直接转发。

一个简单的用法示例如下:

    using Quartz;

    private ScheduleCopyTask()
    {
        Quartz.IScheduler sched;
        IJobDetail job;
        ITrigger trigger;

        // Instantiate the Quartz.NET scheduler
        var schedulerFactory = new Quartz.Impl.StdSchedulerFactory();
        sched = schedulerFactory.GetScheduler();
        sched.Start();

        // Instantiate the JobDetail object passing in the type of your
        // custom job class. Your class merely needs to implement a simple
        // interface with a single method called "Execute".
        job = JobBuilder.Create<SyncJob>()
                     .WithIdentity("SyncJob", "group1").Build();


        // Trigger the job to run now, and then every 30 mins
        trigger = TriggerBuilder.Create()
         .WithIdentity("SyncTrigger", "group1")
         .StartNow()
         .WithSimpleSchedule(x => x
         .WithIntervalInMinutes(30)
         .RepeatForever()).Build();

        sched.ScheduleJob(job, trigger);
    }

你的工作班:

    class SyncJob : IJob
    {      
        public void Execute(IJobExecutionContext context)
        {
           // your task goes here
        }
    }

您可以在此处找到Quartz文档:http://quartz-scheduler.org/generated/2.2.1/html/qs-all/

答案 2 :(得分:0)

我为此使用http://hangfire.io/,它功能强大且使用起来非常简单。

您也可以使用http://www.quartz-scheduler.net/,但我没有使用它,所以我无法评论它。