code: def manage_job_with_blocking_dependencies(self, job_record):
          
          composite_state = self.timetable.dependent_on_composite_state(job_record)
          assert isinstance(composite_state, NodesCompositeState)
  
          if composite_state.all_processed:
              self.manage_job(job_record)
          elif composite_state.skipped_present:
              # As soon as among <dependent on> periods are in STATE_SKIPPED
              # there is very little sense in waiting for them to become STATE_PROCESSED
              # Skip this timeperiod itself
              job_record.state = job.STATE_SKIPPED
              self.job_dao.update(job_record)
              self.mq_transmitter.publish_job_status(job_record)
  
              msg = 'Job {0}@{1} is blocked by STATE_SKIPPED dependencies. ' \
                    'Transferred the job to STATE_SKIPPED'.format(job_record.process_name, job_record.timeperiod)
              self._log_message(WARNING, job_record.process_name, job_record.timeperiod, msg)
          else:
              msg = 'Job {0}@{1} is blocked by unprocessed dependencies. Waiting another tick' \
                    .format(job_record.process_name, job_record.timeperiod)
              self._log_message(INFO, job_record.process_name, job_record.timeperiod, msg)
docs: method will trigger job processing only if:
              - all dependencies are in [STATE_PROCESSED, STATE_NOOP]
              NOTICE: method will transfer current job into STATE_SKIPPED if any dependency is in STATE_SKIPPED