def test_enqueue_job_with_key(producer, logger):
producer_cls, producer_inst = producer
queue = Queue(hosts='host:7000', topic='foo', timeout=300)
old_job = Job(
id='2938401',
timestamp=int(time.time()),
topic='bar',
func=failure_func,
args=[1, 2],
kwargs={'a': 3},
timeout=100,
key='bar',
)
new_job = queue.enqueue_with_key('baz', old_job)
assert isinstance(new_job, Job)
assert isinstance(new_job.id, str)
assert isinstance(new_job.timestamp, int)
assert old_job.id != new_job.id
assert old_job.timestamp <= new_job.timestamp
assert new_job.topic == 'foo'
assert new_job.func == failure_func
assert new_job.args == [1, 2]
assert new_job.kwargs == {'a': 3}
assert new_job.timeout == 300
assert new_job.key == 'baz'
producer_inst.send.assert_called_with(
'foo', dill.dumps(new_job), key='baz'
)
logger.info.assert_called_once_with('Enqueued: {}'.format(new_job))
评论列表
文章目录