Exemple #1
0
        public MySensorsGateway(IMqttClient client, IWhenDoQueueProvider queueProvider, ILogger <MySensorsGateway> logger)
        {
            this.client        = client;
            this.logger        = logger;
            this.queueProvider = queueProvider;

            client.OnDataReceived
            .Subscribe(x =>
            {
                CreateAndPublishMessage(x.Item1, x.Item2);
            });
        }
        public WhenDoEngine(IWhenDoQueueProvider queue, IServiceProvider serviceProvider, IWhenDoJobExecutionManager jobExecutionManager,
                            ILogger <WhenDoEngine> logger, IWhenDoRegistry registry, WhenDoConfiguration config, JobStorage hangfireStorage, IWhenDoJobManager jobManager)
        {
            this.queue               = queue;
            this.logger              = logger;
            this.serviceProvider     = serviceProvider;
            this.registry            = registry;
            this.config              = config;
            this.hangfireStorage     = hangfireStorage;
            this.jobExecutionManager = jobExecutionManager;
            this.jobManager          = jobManager;

            RegisterExpressionProviders(); //TODO: make automatic registration configurable
        }
        public WhenDoConfiguration()
        {
            QueueFactory = new Func <IServiceProvider, IWhenDoQueueProvider>(sp =>
            {
                if (queueProvider == null)
                {
                    queueProvider = new MemoryQueueProvider();
                }
                return(queueProvider);
            });

            JobRepositoryFactory = new Func <IServiceProvider, IWhenDoRepository <IWhenDoJob> >(sp =>
            {
                if (jobRepository == null)
                {
                    jobRepository = new MemoryJobRepository();
                }
                return(jobRepository);
            });

            HangfireStorageFactory = new Func <IServiceProvider, JobStorage>(sp => new MemoryStorage());
        }
 public ResidentController(IWhenDoQueueProvider queue, ILogger <ResidentController> logger)
 {
     this.queue  = queue;
     this.logger = logger;
 }