Esempio n. 1
0
def test_schedule_job(app):
    rq = RQ(app, async=True)
    scheduler = rq.get_scheduler()
    assert scheduler.count() == 0
    rq.job(add)

    job1 = add.schedule(timedelta(seconds=1), 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    purge(scheduler)

    job2 = add.schedule(datetime.utcnow() + timedelta(seconds=1), 3, 4)
    assert scheduler.count() == 1
    assert job2 in scheduler.get_jobs()
    purge(scheduler)

    job3_id = uuid.uuid4().hex
    job3_description = 'custom description'
    job3 = add.schedule(timedelta(seconds=1), 5, 6, repeat=10, interval=2,
                        description=job3_description, job_id=job3_id)
    assert job3 in scheduler.get_jobs()
    assert job3.meta.get('repeat') == 10
    assert job3.meta.get('interval') == 2
    assert job3.id == job3_id
    assert job3.description == job3_description
    purge(scheduler)
Esempio n. 2
0
def test_cron_job(app):
    rq = RQ(app, async=True)
    scheduler = rq.get_scheduler()
    assert scheduler.count() == 0
    rq.job(add)

    cron_string = '* * * * *'
    cron_name = 'add-it-for-real'
    job1 = add.cron(cron_string, cron_name, 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    assert job1.meta['cron_string'] == cron_string
    assert job1.id == 'cron-' + cron_name
    # purge(scheduler)

    job2 = add.cron(cron_string, cron_name, 3, 4)
    assert scheduler.count() == 1  # no duplicate here
    assert job2 in scheduler.get_jobs()
    assert job2.meta['cron_string'] == cron_string
    assert job2.id == 'cron-' + cron_name

    job3 = add.cron(cron_string, cron_name + '-pro', 3, 4)
    assert scheduler.count() == 2  # second cron
    assert job3 in scheduler.get_jobs()
    assert job3.id == 'cron-' + cron_name + '-pro'

    purge(scheduler)
Esempio n. 3
0
def test_schedule_job(app):
    rq = RQ(app, is_async=True)
    scheduler = rq.get_scheduler()
    purge(scheduler)
    assert scheduler.count() == 0
    rq.job(add)

    job1 = add.schedule(timedelta(seconds=1), 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    purge(scheduler)

    job2 = add.schedule(datetime.utcnow() + timedelta(seconds=1), 3, 4)
    assert scheduler.count() == 1
    assert job2 in scheduler.get_jobs()
    purge(scheduler)

    job3_id = uuid.uuid4().hex
    job3_description = 'custom description'
    job3 = add.schedule(timedelta(seconds=1),
                        5,
                        6,
                        repeat=10,
                        interval=2,
                        description=job3_description,
                        job_id=job3_id)
    assert job3 in scheduler.get_jobs()
    assert job3.meta.get('repeat') == 10
    assert job3.meta.get('interval') == 2
    assert job3.id == job3_id
    assert job3.description == job3_description
    purge(scheduler)

    other_queue = 'other-queue'
    job4 = add.schedule(timedelta(seconds=1), 5, 6, queue=other_queue)
    # job will be scheduled in the other queue eventually
    assert job4.origin == other_queue
    # one more. the scheduler will have all jobs, no matter what
    # queue the job will eventually be queued in.
    assert job4 in scheduler.get_jobs()
    purge(scheduler)
Esempio n. 4
0
def test_cron_job(app):
    rq = RQ(app, async_=True)
    scheduler = rq.get_scheduler()
    purge(scheduler)
    assert scheduler.count() == 0
    rq.job(add)

    cron_string = '* * * * *'
    cron_name = 'add-it-for-real'
    job1 = add.cron(cron_string, cron_name, 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    assert job1.meta['cron_string'] == cron_string
    assert job1.id == 'cron-' + cron_name
    purge(scheduler)

    job2 = add.cron(cron_string, cron_name, 3, 4)
    assert scheduler.count() == 1  # no duplicate here
    assert job2 in scheduler.get_jobs()
    assert job2.meta['cron_string'] == cron_string
    assert job2.id == 'cron-' + cron_name

    job3 = add.cron(cron_string, cron_name + '-pro', 3, 4)
    assert scheduler.count() == 2  # second cron
    assert job3 in scheduler.get_jobs()
    assert job3.id == 'cron-' + cron_name + '-pro'

    other_queue = 'other-queue'
    job4 = add.cron(cron_string, cron_name + '-other', 3, 4, queue=other_queue)
    # job will be scheduled in the other queue eventually
    assert job4.origin == other_queue
    # one more. the scheduler will have all jobs, no matter what
    # queue the job will eventually be queued in.
    assert job4 in scheduler.get_jobs()
    assert scheduler.count() == 3

    purge(scheduler)
Esempio n. 5
0
def test_cron_job(app):
    rq = RQ(app, is_async=True)
    scheduler = rq.get_scheduler()
    purge(scheduler)
    assert scheduler.count() == 0
    rq.job(add)

    cron_string = '* * * * *'
    cron_name = 'add-it-for-real'
    job1 = add.cron(cron_string, cron_name, 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    assert job1.meta['cron_string'] == cron_string
    assert job1.id == 'cron-' + cron_name
    purge(scheduler)

    job2 = add.cron(cron_string, cron_name, 3, 4)
    assert scheduler.count() == 1  # no duplicate here
    assert job2 in scheduler.get_jobs()
    assert job2.meta['cron_string'] == cron_string
    assert job2.id == 'cron-' + cron_name

    job3 = add.cron(cron_string, cron_name + '-pro', 3, 4)
    assert scheduler.count() == 2  # second cron
    assert job3 in scheduler.get_jobs()
    assert job3.id == 'cron-' + cron_name + '-pro'

    other_queue = 'other-queue'
    job4 = add.cron(cron_string, cron_name + '-other', 3, 4, queue=other_queue)
    # job will be scheduled in the other queue eventually
    assert job4.origin == other_queue
    # one more. the scheduler will have all jobs, no matter what
    # queue the job will eventually be queued in.
    assert job4 in scheduler.get_jobs()
    assert scheduler.count() == 3

    purge(scheduler)
Esempio n. 6
0
def test_schedule_job(app):
    rq = RQ(app, is_async=True)
    scheduler = rq.get_scheduler()
    purge(scheduler)
    assert scheduler.count() == 0
    rq.job(add)

    job1 = add.schedule(timedelta(seconds=1), 1, 2)
    assert scheduler.count() == 1
    assert job1 in scheduler.get_jobs()
    purge(scheduler)

    job2 = add.schedule(datetime.utcnow() + timedelta(seconds=1), 3, 4)
    assert scheduler.count() == 1
    assert job2 in scheduler.get_jobs()
    purge(scheduler)

    job3_id = uuid.uuid4().hex
    job3_description = 'custom description'
    job3 = add.schedule(timedelta(seconds=1), 5, 6, repeat=10, interval=2,
                        description=job3_description, job_id=job3_id)
    assert job3 in scheduler.get_jobs()
    assert job3.meta.get('repeat') == 10
    assert job3.meta.get('interval') == 2
    assert job3.id == job3_id
    assert job3.description == job3_description
    purge(scheduler)

    other_queue = 'other-queue'
    job4 = add.schedule(timedelta(seconds=1), 5, 6, queue=other_queue)
    # job will be scheduled in the other queue eventually
    assert job4.origin == other_queue
    # one more. the scheduler will have all jobs, no matter what
    # queue the job will eventually be queued in.
    assert job4 in scheduler.get_jobs()
    purge(scheduler)