예제 #1
0
 private void ReactivateTask(OptionsPlayTask optionsPlayTask, SchedulerQueue schedulerQueue)
 {
     if (optionsPlayTask != null)
     {
         try
         {
             SchedulerQueue newQueue = optionsPlayTask.CreateSchedulerQueue();
             _schedulerCoreService.CreateQueueTask(newQueue, true);
         }
         catch (Exception newQueueException)
         {
             Logger.FatalError(string.Format(LogMessages.Error_FailedSchedulerJob, AppConfigManager.Environment, schedulerQueue.TaskType), newQueueException);
             _schedulerCoreService.LogTaskException(schedulerQueue.TaskType, newQueueException);
         }
     }
 }
예제 #2
0
        // See http://www.cronmaker.com/
        //private const string CronString = "0 {1} {0} ? * MON,TUE,WED,THU,FRI *"; // {0} - hours, {1} - minutes

        private void UpdateTasksQueue()
        {
            ISchedulerCoreService schedulerCoreService = ObjectFactory.GetInstance <ISchedulerCoreService>();

            List <OptionsPlayTask> syrahTraderTasks = new List <OptionsPlayTask>();

            //Get all tasks from current assembly
            Type baseType = typeof(OptionsPlayTask);

            foreach (Type type in Assembly.GetAssembly(baseType).GetTypes())
            {
                if (baseType.IsAssignableFrom(type) && type != baseType)
                {
                    try
                    {
                        if (type != null)
                        {
                            Logger.Debug(type.ToString());
                            OptionsPlayTask instance = (OptionsPlayTask)ObjectFactory.GetInstance(type);
                            syrahTraderTasks.Add(instance);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Error("Error ", ex);
                    }
                }
            }

            //Update db for tasks
            foreach (OptionsPlayTask task in syrahTraderTasks)
            {
                Logger.Debug(task.TaskType.ToString());

                SchedulerQueue schedulerQueue = task.CreateSchedulerQueue();
                schedulerCoreService.CreateQueueTask(schedulerQueue, true);

                Logger.Debug(task.TaskType.ToString());
            }
        }