Esempio n. 1
0
def test_lock():
    queue = core4.queue.main.CoreQueue()
    worker = core4.queue.worker.CoreWorker()
    queue.enqueue(core4.queue.helper.job.example.DummyJob)
    job = worker.get_next_job()
    assert queue.lock_job(job["_id"], worker.identifier)
    assert queue.lock_job(job["_id"], worker.identifier) is False
Esempio n. 2
0
def test_offset():
    queue = core4.queue.main.CoreQueue()
    enqueued_id = []
    for i in range(0, 5):
        enqueued_id.append(queue.enqueue(
            core4.queue.helper.job.example.DummyJob, i=i)._id)
    worker = core4.queue.worker.CoreWorker()
    dequeued_id = []
    dequeued_id.append(worker.get_next_job()["_id"])
    dequeued_id.append(worker.get_next_job()["_id"])
    dequeued_id.append(worker.get_next_job()["_id"])
    enqueued_job = queue.enqueue(core4.queue.helper.job.example.DummyJob, i=5,
                                 priority=10)
    dequeued_job = worker.get_next_job()
    assert enqueued_job._id == dequeued_job["_id"]
    assert enqueued_id[0:len(dequeued_id)] == dequeued_id
Esempio n. 3
0
def test_enqueue_dequeue(queue):
    enqueued_job = queue.enqueue(core4.queue.helper.job.example.DummyJob)
    worker = core4.queue.worker.CoreWorker()
    doc = worker.get_next_job()
    dequeued_job = queue.job_factory(doc["name"]).deserialise(**doc)
    assert enqueued_job.__dict__.keys() == dequeued_job.__dict__.keys()
    for k in enqueued_job.__dict__.keys():
        if k not in ("logger", "config", "class_config"):
            if enqueued_job.__dict__[k] != dequeued_job.__dict__[k]:
                assert enqueued_job.__dict__[k] == dequeued_job.__dict__[k]
Esempio n. 4
0
def test_remove(mongodb):
    queue = core4.queue.main.CoreQueue()
    worker = core4.queue.worker.CoreWorker()
    _id = queue.enqueue(core4.queue.helper.job.example.DummyJob)._id
    assert _id is not None
    assert queue.remove_job(_id)
    job = worker.get_next_job()
    assert job is None
    worker.remove_jobs()
    assert 0 == mongodb.core4test.sys.queue.count_documents({})
    assert 1 == mongodb.core4test.sys.journal.count_documents({})
    worker.cleanup()
    assert 0 == mongodb.core4test.sys.lock.count_documents({})