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); }); }); }
public JobTaskController(JobTaskRepository jobTaskRepository, IJobTaskRunner jobTaskRunner) { _jobTaskRepository = jobTaskRepository; _jobTaskRunner = jobTaskRunner; }