private bool IsOnline(ISubmissionWorker submissionWorker)
 {
     try
     {
         var result = this.http.Get($"{submissionWorker.Location}/health?p433w0rd=h34lth-m0n1t0r1ng");
         return(result == "Healthy");
     }
     catch
     {
         return(false);
     }
 }
        public SubmissionProcessor(
            string name,
            IDependencyContainer dependencyContainer,
            ConcurrentQueue <TSubmission> submissionsForProcessing,
            object sharedLockObject,
            ISubmissionsFilteringService submissionsFilteringService,
            ISubmissionWorker submissionWorker)
        {
            this.Name = name;

            this.Logger = LogManager.GetLogger(typeof(SubmissionProcessor <TSubmission>));
            this.Logger.Info($"{nameof(SubmissionProcessor<TSubmission>)} initializing...");

            this.stopping = false;

            this.dependencyContainer         = dependencyContainer;
            this.submissionsForProcessing    = submissionsForProcessing;
            this.sharedLockObject            = sharedLockObject;
            this.submissionsFilteringService = submissionsFilteringService;
            this.SubmissionWorker            = submissionWorker;

            this.Logger.Info($"{nameof(SubmissionProcessor<TSubmission>)} initialized.");
        }
 protected virtual bool CanProcessSubmissionInternal(IOjsSubmission submission, ISubmissionWorker submissionWorker)
 => true;
 public bool CanProcessSubmission(IOjsSubmission submission, ISubmissionWorker submissionWorker)
 => submission != null &&
 !this.IsDisabledStrategy(submission) &&
 this.IsEnabledStrategy(submission) &&
 this.CanProcessSubmissionInternal(submission, submissionWorker);
 protected override bool CanProcessSubmissionInternal(IOjsSubmission submission, ISubmissionWorker submissionWorker)
 => this.IsOnline(submissionWorker);