コード例 #1
0
        private void VirtualResourceEventBus_OnShutdownResource(object sender, VirtualResourceEventBusShutdownArgs e)
        {
            ChangeState(RuntimeState.ShuttingDown, e.CopyLogs);

            //VirtualResourceInstanceStatusLogger statusChange = new VirtualResourceInstanceStatusLogger(_sessionId, Environment.UserName, _workerStatusIndex++, Enum.GetName(typeof(RuntimeState), 12), false, GlobalDataStore.ResourceInstanceId);
            _statusLogger.Update(_statusLogger.Index + 1, Enum.GetName(typeof(RuntimeState), 12), false, "Shutdown");

            ExecutionServices.DataLogger.AsInternal().Submit(_statusLogger);
        }
コード例 #2
0
        private void RunSchedule(WorkerExecutionState state, DateTime endTime)
        {
            TimeSpan duration = endTime - DateTime.Now;

            if (state == WorkerExecutionState.Idle)
            {
                TraceFactory.Logger.Debug("Idle wait for {0} mins".FormatWith(duration.TotalMinutes));
                TraceFactory.Logger.Debug("Paused for {0} mins".FormatWith(_flowControlMonitor.PauseTime.TotalMinutes));

                _virtualResourceStatusLogger.Update(_virtualResourceStatusLogger.Index + 1, Enum.GetName(typeof(Runtime.RuntimeState), 6), false, "EngineIdle");

                ExecutionServices.DataLogger.AsInternal().Submit(_virtualResourceStatusLogger);
                _flowControlMonitor.Pause(() => !ExecutionHalted, duration, TimeSpan.FromSeconds(1));
            }
            else
            {
                _virtualResourceStatusLogger.Update(_virtualResourceStatusLogger.Index + 1, Enum.GetName(typeof(Runtime.RuntimeState), 6), true, "EngineActive");

                ExecutionServices.DataLogger.AsInternal().Submit(_virtualResourceStatusLogger);

                new DurationBasedEngine(_workerDetail, ActivityQueue, PacingInfo, (int)duration.TotalMinutes).Run();
            }
        }