def send_job_request(self, current_request): """Register a newly created job request""" gearman_job = current_request.job # Handle the I/O for requesting a job - determine which COMMAND we need to send cmd_type = submit_cmd_for_background_priority(current_request.background, current_request.priority) outbound_data = self.encode_data(gearman_job.data) self.send_command(cmd_type, task=gearman_job.task, unique=gearman_job.unique, data=outbound_data) # Once this command is sent, our request needs to wait for a handle self.requests_awaiting_handles.append(current_request)
def send_job_request(self, current_request): """Register a newly created job request""" self._assert_request_state(current_request, JOB_UNKNOWN) gearman_job = current_request.job # Handle the I/O for requesting a job - determine which COMMAND we need to send cmd_type = submit_cmd_for_background_priority(current_request.background, current_request.priority) outbound_data = self.encode_data(gearman_job.data) self.send_command(cmd_type, task=gearman_job.task, unique=gearman_job.unique, data=outbound_data) # Once this command is sent, our request needs to wait for a handle current_request.state = JOB_PENDING self.requests_awaiting_handles.append(current_request)
def test_send_job_request(self): current_request = self.generate_job_request() gearman_job = current_request.job for priority in (PRIORITY_NONE, PRIORITY_HIGH, PRIORITY_LOW): for background in (False, True): current_request.reset() current_request.priority = priority current_request.background = background self.command_handler.send_job_request(current_request) queued_request = self.command_handler.requests_awaiting_handles.popleft() self.assertEqual(queued_request, current_request) expected_cmd_type = submit_cmd_for_background_priority(background, priority) self.assert_sent_command(expected_cmd_type, task=gearman_job.task, data=gearman_job.data, unique=gearman_job.unique)