Ejemplo n.º 1
0
        private static void InitShiftServer()
        {
            var config = new Shift.ServerConfig();

            config.AssemblyFolder = ConfigurationManager.AppSettings["AssemblyFolder"];
            //config.AssemblyListPath = ConfigurationManager.AppSettings["AssemblyListPath"];
            config.MaxRunnableJobs = Convert.ToInt32(ConfigurationManager.AppSettings["MaxRunnableJobs"]);
            //config.ProcessID = ConfigurationManager.AppSettings["ShiftPID"]; //demo/testing ID
            config.DBConnectionString = ConfigurationManager.ConnectionStrings["ShiftDBConnection"].ConnectionString;
            config.DBAuthKey          = ConfigurationManager.AppSettings["DocumentDBAuthKey"];
            config.Workers            = Convert.ToInt32(ConfigurationManager.AppSettings["ShiftWorkers"]);

            config.StorageMode = ConfigurationManager.AppSettings["StorageMode"];
            var progressDBInterval = ConfigurationManager.AppSettings["ProgressDBInterval"];

            if (!string.IsNullOrWhiteSpace(progressDBInterval))
            {
                config.ProgressDBInterval = TimeSpan.Parse(progressDBInterval); //Interval when progress is updated in main DB
            }
            var autoDeletePeriod = ConfigurationManager.AppSettings["AutoDeletePeriod"];

            config.AutoDeletePeriod = string.IsNullOrWhiteSpace(autoDeletePeriod) ? null : (int?)Convert.ToInt32(autoDeletePeriod);
            //config.AutoDeleteStatus = new List<JobStatus?> { JobStatus.Completed, JobStatus.Error }; //Auto delete only the jobs that has completed or with error.

            config.ForceStopServer = Convert.ToBoolean(ConfigurationManager.AppSettings["ForceStopServer"]); //Set to true to allow windows service to shut down after a set delay in StopServerDelay
            config.StopServerDelay = Convert.ToInt32(ConfigurationManager.AppSettings["StopServerDelay"]);

            //config.EncryptionKey = "[OPTIONAL_ENCRYPTIONKEY]"; //optional, will encrypt parameters in DB if filled
            config.PollingOnce = Convert.ToBoolean(ConfigurationManager.AppSettings["PollingOnce"]);

            jobServer = new JobServer(config);
        }
Ejemplo n.º 2
0
        public ShiftService()
        {
            InitializeComponent();
            var appServiceName = ConfigurationManager.AppSettings["ServiceName"];

            if (jobServer == null)
            {
                var config = new Shift.ServerConfig();
                config.MaxRunnableJobs = Convert.ToInt32(ConfigurationManager.AppSettings["MaxRunableJobs"]);
                //config.ProcessID = ConfigurationManager.AppSettings["ShiftPID"];
                config.DBConnectionString = ConfigurationManager.ConnectionStrings["ShiftDBConnection"].ConnectionString;
                config.DBAuthKey          = ConfigurationManager.AppSettings["DocumentDBAuthKey"];
                config.Workers            = Convert.ToInt32(ConfigurationManager.AppSettings["ShiftWorkers"]);

                config.StorageMode = ConfigurationManager.AppSettings["StorageMode"];
                var progressDBInterval = ConfigurationManager.AppSettings["ProgressDBInterval"];
                if (!string.IsNullOrWhiteSpace(progressDBInterval))
                {
                    config.ProgressDBInterval = TimeSpan.Parse(progressDBInterval); //Interval when progress is updated in main DB
                }
                var autoDeletePeriod = ConfigurationManager.AppSettings["AutoDeletePeriod"];
                config.AutoDeletePeriod = string.IsNullOrWhiteSpace(autoDeletePeriod) ? null : (int?)Convert.ToInt32(autoDeletePeriod);

                config.AssemblyFolder = ConfigurationManager.AppSettings["AssemblyFolder"];
                //config.AssemblyListPath = ConfigurationManager.AppSettings["AssemblyListPath"];

                config.ForceStopServer = Convert.ToBoolean(ConfigurationManager.AppSettings["ForceStopServer"]); //Set to true to allow windows service to shut down after a set delay in StopServerDelay
                config.StopServerDelay = Convert.ToInt32(ConfigurationManager.AppSettings["StopServerDelay"]);

                config.ServerTimerInterval  = Convert.ToInt32(ConfigurationManager.AppSettings["TimerInterval"]);        //optional: default every 5 sec for getting jobs ready to run and run them
                config.ServerTimerInterval2 = Convert.ToInt32(ConfigurationManager.AppSettings["CleanUpTimerInterval"]); //optional: default every 10 sec for server CleanUp()

                //config.AutoDeleteStatus = new List<JobStatus?> { JobStatus.Completed, JobStatus.Error }; //Auto delete only the jobs that had Stopped or with Error
                //config.EncryptionKey = ConfigurationManager.AppSettings["ShiftEncryptionParametersKey"];
                config.PollingOnce = Convert.ToBoolean(ConfigurationManager.AppSettings["PollingOnce"]);

                jobServer = new Shift.JobServer(config);
            }

            this.ServiceName = appServiceName;
        }