示例#1
0
        public IJobQueue <TArgs> Get <TArgs>()
        {
            var jobConfiguration = Options.GetJob(typeof(TArgs));

            return((IJobQueue <TArgs>)JobQueues.GetOrAdd(jobConfiguration.JobName, _ =>
            {
                var jobQueue = (IRunnable)ServiceProvider
                               .GetRequiredService(typeof(IJobQueue <>)
                                                   .MakeGenericType(typeof(TArgs)));

                AsyncHelper.RunSync(() => jobQueue.StartAsync());

                return jobQueue;
            }));
        }