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; })); }