Exemple #1
0
        static int Main(string[] args)
        {
            return((int)HostFactory.Run(x =>
            {
                GlobalConfiguration.ConfigureDBConnectionString();

                x.UseLog4Net("log4net.config");

                x.UseAssemblyInfoForServiceInfo();

                x.Service <WebServer>(s =>
                {
                    s.ConstructUsing(name => new WebServer(new JobWatcher("Jobs", cl =>
                    {
                        var assemblyNames = cl.Select(c => Path.GetFileNameWithoutExtension(c)).ToList();
                        foreach (var assemblyName in assemblyNames)
                        {
                            var jobInfos = JobOperator.GetJobInfoList(assemblyName);
                            JobPoolManager.Instance.RemoveAll(jobInfos.Select(t => t.ID).ToList());
                            jobInfos.ForEach(jobInfo => JobPoolManager.Scheduler.ScheduleJob(jobInfo));
                        }
                    })));
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });

                x.RunAsLocalSystem();
            }));
        }