Ejemplo n.º 1
0
        private async Task ExecuteArgumentAsync(TaskDescriptor task)
        {
            var argument = await _taskManager.GetArgumentAsync(task.Id);

            if (argument != null)
            {
                try
                {
                    //在服务运行后可以更改当前参数值
                    if (argument.Args != null)
                    {
                        argument.Args.SetArgumentAsync = args => _taskManager.SetArgumentAsync(argument.Id, args);
                    }
                    await task.Service(argument.Args);

                    await _taskManager.SetArgumentAsync(argument.Id);
                }
                catch (Exception ex)
                {
                    await
                    _taskManager.SetArgumentAsync(argument.Id, argument.TryTimes + 1,
                                                  ex.Message);

                    _taskManager.LogError(task.Name, ex);
                }
            }
            await Task.Delay(TimeSpan.FromSeconds(1));
        }
Ejemplo n.º 2
0
        private async Task ExecuteArgumentAsync(TaskDescriptor task)
        {
            //for (int i = 0; i < (int)ArgumentStatus.Failured; i++)
            //{
            var argument = await _taskManager.GetArgumentAsync(task.Id);

            if (argument != null)
            {
                try
                {
                    await task.Service(argument.Args);

                    await _taskManager.SetArgumentAsync(argument.Id);
                }
                catch (Exception ex)
                {
                    await
                    _taskManager.SetArgumentAsync(argument.Id, argument.TryTimes + 1,
                                                  ex.Message);

                    _taskManager.LogError(task.Name, ex);
                }
            }
            await Task.Delay(TimeSpan.FromSeconds(1));

            //}
        }