Exemplo n.º 1
0
        public void Run(Job job)
        {
            ThreadPool.QueueUserWorkItem(cb =>
            {
                job.Tasks.ForEach(this.provider, (state, message) =>
                {
                    IJobTaskRunner runner = null;

                    try
                    {
                        runner = state.GetRunnerFor(message);
                        runner.Run(message);
                    }
                    finally
                    {
                        if (runner != null)
                        {
                            state.Release(runner);
                        }
                    }

                    return(state);
                });
            });
        }
Exemplo n.º 2
0
 public JobTaskController(JobTaskRepository jobTaskRepository, IJobTaskRunner jobTaskRunner)
 {
     _jobTaskRepository = jobTaskRepository;
     _jobTaskRunner     = jobTaskRunner;
 }