Example #1
0
        private async Task disposeResources()
        {
            if (_isShuttingDown)
            {
                return;
            }

            try
            {
                _isShuttingDown = true;

                foreach (var task in _tasksStorage.Value.Tasks.Where(x => x.TaskInstance != null))
                {
                    task.TaskInstance.IsShuttingDown = true;
                }

                var timeOut = TimeToFinish;
                while (_tasksStorage.Value.Tasks.Any(x => x.IsRunning) && timeOut >= 0)
                {
                    // still running ...
                    await Task.Delay(50).ConfigureAwait(false);

                    timeOut -= 50;
                }
            }
            finally
            {
                _jobsRunnerTimer.Stop();
                await _thisApplication.WakeUp().ConfigureAwait(false);
            }
        }
Example #2
0
        /// <summary>
        /// Scheduled task's logic.
        /// </summary>
        public async Task RunAsync()
        {
            if (this.IsShuttingDown)
            {
                return;
            }

            await _thisApplication.WakeUp();
        }
Example #3
0
        /// <summary>
        /// Scheduled task's logic.
        /// </summary>
        public async Task RunAsync()
        {
            if (this.IsShuttingDown)
            {
                return;
            }

            await _thisApplication.WakeUp().ConfigureAwait(false);
        }