示例#1
0
 def test_status_change(self):
     assert RedisStatuses.get_status('job-uuid') is None
     RedisStatuses.delete_status('job-uuid')
     RedisStatuses.set_status('job-uuid', 'running')
     assert RedisStatuses.get_status('job-uuid') == 'running'
     RedisStatuses.delete_status('job-uuid')
     assert RedisStatuses.get_status('job-uuid') is None
示例#2
0
def should_handle_job_status(pod_state: Any, status: str) -> bool:
    job_uuid = pod_state['details']['labels']['job_uuid']
    current_status = RedisStatuses.get_status(job=job_uuid)
    if not current_status:  # If the status does not exist or is evicted
        return True

    try:
        return JobLifeCycle.can_transition(
            status_from=RedisStatuses.get_status(job=job_uuid),
            status_to=status)
    except redis.connection.ConnectionError:
        return True
示例#3
0
def should_handle_job_status(pod_state: Any, status: str) -> bool:
    job_uuid = pod_state['details']['labels']['job_uuid']
    return RedisStatuses.get_status(job=job_uuid) != status