Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async def test_repeat_job_result(arq_redis: ArqRedis, worker):
j1 = await arq_redis.enqueue_job('foobar', _job_id='job_id')
assert isinstance(j1, Job)
assert await j1.status() == JobStatus.queued
assert await arq_redis.enqueue_job('foobar', _job_id='job_id') is None
await worker(functions=[foobar]).run_check()
assert await j1.status() == JobStatus.complete
assert await arq_redis.enqueue_job('foobar', _job_id='job_id') is None
async def test_job_in_progress(arq_redis: ArqRedis):
await arq_redis.set(in_progress_key_prefix + 'foobar', b'1')
j = Job('foobar', arq_redis)
assert JobStatus.in_progress == await j.status()
assert str(j) == ''
async def test_repeat_job_result(arq_redis: ArqRedis, worker):
j1 = await arq_redis.enqueue_job('foobar', _job_id='job_id')
assert isinstance(j1, Job)
assert await j1.status() == JobStatus.queued
assert await arq_redis.enqueue_job('foobar', _job_id='job_id') is None
await worker(functions=[foobar]).run_check()
assert await j1.status() == JobStatus.complete
assert await arq_redis.enqueue_job('foobar', _job_id='job_id') is None
async def test_deserialize_info(arq_redis: ArqRedis):
j = await arq_redis.enqueue_job('foobar', 1, 2)
assert JobStatus.queued == await j.status()
await arq_redis.set(job_key_prefix + j.job_id, b'invalid pickle data')
with pytest.raises(DeserializationError, match='unable to deserialize job'):
assert await j.info()
async def status(self) -> JobStatus:
"""
Status of the job.
"""
if await self._redis.exists(result_key_prefix + self.job_id):
return JobStatus.complete
elif await self._redis.exists(in_progress_key_prefix + self.job_id):
return JobStatus.in_progress
else:
score = await self._redis.zscore(self._queue_name, self.job_id)
if not score:
return JobStatus.not_found
return JobStatus.deferred if score > timestamp_ms() else JobStatus.queued
async def status(self) -> JobStatus:
"""
Status of the job.
"""
if await self._redis.exists(result_key_prefix + self.job_id):
return JobStatus.complete
elif await self._redis.exists(in_progress_key_prefix + self.job_id):
return JobStatus.in_progress
else:
score = await self._redis.zscore(self._queue_name, self.job_id)
if not score:
return JobStatus.not_found
return JobStatus.deferred if score > timestamp_ms() else JobStatus.queued
async def status(self) -> JobStatus:
"""
Status of the job.
"""
if await self._redis.exists(result_key_prefix + self.job_id):
return JobStatus.complete
elif await self._redis.exists(in_progress_key_prefix + self.job_id):
return JobStatus.in_progress
else:
score = await self._redis.zscore(self._queue_name, self.job_id)
if not score:
return JobStatus.not_found
return JobStatus.deferred if score > timestamp_ms() else JobStatus.queued
async def status(self) -> JobStatus:
"""
Status of the job.
"""
if await self._redis.exists(result_key_prefix + self.job_id):
return JobStatus.complete
elif await self._redis.exists(in_progress_key_prefix + self.job_id):
return JobStatus.in_progress
else:
score = await self._redis.zscore(self._queue_name, self.job_id)
if not score:
return JobStatus.not_found
return JobStatus.deferred if score > timestamp_ms() else JobStatus.queued