Exemplo n.º 1
0
 public TrySendJobDetailToManagerTimer(NodeConfiguration nodeConfiguration, JobDetailSender jobDetailSender)
 {
     _jobDetailSender         = jobDetailSender;
     _cancellationTokenSource = new CancellationTokenSource();
     Interval = nodeConfiguration.SendDetailsToManagerMilliSeconds;
     Elapsed += OnTimedEvent;
 }
Exemplo n.º 2
0
 public void ShouldRemoveDetailWhenSent()
 {
     Target = new JobDetailSender(_nodeConfiguration, _httpSenderFake);
     Target.AddDetail(Guid.NewGuid(), "Progress message.");
     Target.Send(CancellationToken.None);
     Target.DetailsCount().Should().Be.EqualTo(0);
 }
Exemplo n.º 3
0
        public void Setup()
        {
            var parameters = new TestJobParams("Test Job",
                                               1);

            var ser = JsonConvert.SerializeObject(parameters);

            _jobDefinition = new JobQueueItemEntity
            {
                JobId      = Guid.NewGuid(),
                Name       = "jobDefinition Name",
                Serialized = ser,
                Type       = "NodeTest.JobHandlers.TestJobParams"
            };
            _nodeStartupNotification = new NodeStartupNotificationToManagerFake(_nodeConfigurationFake,
                                                                                new FakeHttpSender());
            _jobDetailSender = new JobDetailSender(_nodeConfigurationFake, new FakeHttpSender());
            _trySendJobDetailToManagerTimer =
                new TrySendJobDetailToManagerTimer(_nodeConfigurationFake,
                                                   _jobDetailSender);

            _pingToManagerFake = new PingToManagerFake();

            _sendJobDoneTimer = new SendJobDoneTimerFake(_nodeConfigurationFake,
                                                         _jobDetailSender,
                                                         new FakeHttpSender());

            _sendJobCanceledTimer = new SendJobCanceledTimerFake(_nodeConfigurationFake,
                                                                 _jobDetailSender,
                                                                 new FakeHttpSender());

            _sendJobFaultedTimer = new SendJobFaultedTimerFake(_nodeConfigurationFake,
                                                               _jobDetailSender,
                                                               new FakeHttpSender());
        }
Exemplo n.º 4
0
 public SendJobDoneTimerFake(NodeConfiguration nodeConfiguration,
                             JobDetailSender jobDetailSender,
                             IHttpSender httpSender,
                             double interval = 1000) : base(nodeConfiguration,
                                                            jobDetailSender,
                                                            httpSender,
                                                            interval)
 {
 }
 public SendJobDoneWithEventTriggerTimerFake(NodeConfiguration nodeConfiguration,
                                             Uri callbackTemplateUri,
                                             JobDetailSender jobDetailSender,
                                             IHttpSender httpSender) : base(nodeConfiguration,
                                                                            callbackTemplateUri,
                                                                            jobDetailSender,
                                                                            httpSender)
 {
 }
Exemplo n.º 6
0
        public void ShouldHaveTwoJobProgressesWhenTwoWithSameGuidAreAdded()
        {
            Target = new JobDetailSender(_nodeConfiguration, _httpSenderFake);

            var jobid = Guid.NewGuid();

            Target.AddDetail(jobid, "Progress message 1.");
            Target.AddDetail(jobid, "Progress message 2.");
            Assert.IsTrue(Target.DetailsCount() == 2);
        }
 public TrySendJobCanceledToManagerTimer(NodeConfiguration nodeConfiguration,
                                         JobDetailSender jobDetailSender,
                                         IHttpSender httpSender,
                                         double interval = 500) : base(nodeConfiguration,
                                                                       nodeConfiguration.GetManagerJobHasBeenCanceledTemplateUri(),
                                                                       jobDetailSender,
                                                                       httpSender,
                                                                       interval)
 {
 }
Exemplo n.º 8
0
 public TrySendJobDoneStatusToManagerTimer(NodeConfiguration nodeConfiguration,
                                           JobDetailSender jobDetailSender,
                                           IHttpSender httpSender,
                                           double interval = 500) : base(nodeConfiguration,
                                                                         nodeConfiguration.GetManagerJobDoneTemplateUri(),
                                                                         jobDetailSender,
                                                                         httpSender,
                                                                         interval)
 {
 }
 public TrySendJobFaultedToManagerTimer(NodeConfiguration nodeConfiguration,
                                        JobDetailSender jobDetailSender,
                                        IHttpSender httpSender,
                                        double interval = 500) : base(nodeConfiguration,
                                                                      nodeConfiguration
                                                                      .GetManagerJobHasFailedTemplatedUri(),
                                                                      jobDetailSender,
                                                                      httpSender,
                                                                      interval)
 {
     _httpSender = httpSender;
 }
Exemplo n.º 10
0
        public void ShouldSendAllDetailsInTheSameRequest()
        {
            Target = new JobDetailSender(_nodeConfiguration, _httpSenderFake);

            var jobid = Guid.NewGuid();

            Target.AddDetail(jobid, "Progress message 1.");
            Target.AddDetail(jobid, "Progress message 2.");

            Target.Send(CancellationToken.None);
            _httpSenderFake.SentJson.Should().Contain("Progress message 1.");
            _httpSenderFake.SentJson.Should().Contain("Progress message 2.");
        }
        public TrySendStatusToManagerTimer(NodeConfiguration nodeConfiguration,
                                           Uri callbackTemplateUri,
                                           JobDetailSender jobDetailSender,
                                           IHttpSender httpSender, double interval = 500) : base(interval)
        {
            _cancellationTokenSource = new CancellationTokenSource();
            _whoAmI                 = nodeConfiguration.CreateWhoIAm(Environment.MachineName);
            _enableGc               = nodeConfiguration.EnableGarbageCollection;
            _jobDetailSender        = jobDetailSender;
            _httpSender             = httpSender;
            CallbackTemplateUri     = callbackTemplateUri;
            _exceptionLoggerHandler = new TimerExceptionLoggerStrategyHandler(TimerExceptionLoggerStrategyHandler.DefaultLogInterval, GetType());

            Elapsed  += OnTimedEvent;
            AutoReset = true;
        }
Exemplo n.º 12
0
 public void ShouldBeAbleToAddDetail()
 {
     Target = new JobDetailSender(_nodeConfiguration, _httpSenderFake);
     Target.AddDetail(Guid.NewGuid(), "Progress message");
     Assert.IsTrue(Target.DetailsCount() == 1);
 }