Exemple #1
0
 public void Publish(IEnumerable <JobInfo> jobs)
 {
     using (var scope = ServiceFactory.GetRequiredService <IJobServiceScopeFactory>().CreateScope())
     {
         scope.GetRequiredService <IJobPublisher>().Publish(jobs);
     }
 }
        public WorkerCoordinator(IJobServiceFactory serviceFactory, IJobLogger <WorkerCoordinator> logger = null)
        {
            ServiceScopeFactory = serviceFactory.GetRequiredService <IJobServiceScopeFactory>();
            ServiceScope        = ServiceScopeFactory.CreateScope();

            _settings = ServiceScope.GetRequiredService <MassiveJobsSettings>();

            _reconnectTimer              = ServiceScope.GetRequiredService <ITimer>();
            _reconnectTimer.TimeElapsed += Reconnect;

            Workers = new List <IWorker>();
            Logger  = logger ?? ServiceScope.GetRequiredService <IJobLogger <WorkerCoordinator> >();

            MessageConsumer = ServiceScope.GetRequiredService <IMessageConsumer>();
            MessageConsumer.Disconnected += MessageBrokerDisconnected;
        }
 public static TService GetRequiredService <TService>(this IJobServiceFactory factory)
 {
     return((TService)factory.GetRequiredService(typeof(TService)));
 }