def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_not_scheduled(notify_db, notify_db_session): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) create_job(notify_db, notify_db_session) job_scheduled = create_job(notify_db, notify_db_session, scheduled_for=one_minute_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 1 assert jobs[0].id == job_scheduled.id
def run_scheduled_jobs(): try: for job in dao_set_scheduled_jobs_to_pending(): process_job.apply_async([str(job.id)], queue="process-job") current_app.logger.info("Job ID {} added to process job queue".format(job.id)) except SQLAlchemyError as e: current_app.logger.exception("Failed to run scheduled jobs") raise
def run_scheduled_jobs(): try: for job in dao_set_scheduled_jobs_to_pending(): process_job.apply_async([str(job.id)], queue=QueueNames.JOBS) current_app.logger.info("Job ID {} added to process job queue".format(job.id)) except SQLAlchemyError: current_app.logger.exception("Failed to run scheduled jobs") raise
def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_not_scheduled( sample_template, sample_job): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) job_scheduled = create_job(sample_template, scheduled_for=one_minute_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 1 assert jobs[0].id == job_scheduled.id
def test_set_scheduled_jobs_to_pending_updates_rows(notify_db, notify_db_session): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) one_hour_ago = datetime.utcnow() - timedelta(minutes=60) create_job(notify_db, notify_db_session, scheduled_for=one_minute_ago, job_status='scheduled') create_job(notify_db, notify_db_session, scheduled_for=one_hour_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 2 assert jobs[0].job_status == 'pending' assert jobs[1].job_status == 'pending'
def test_set_scheduled_jobs_to_pending_gets_all_jobs_in_scheduled_state_before_now(notify_db, notify_db_session): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) one_hour_ago = datetime.utcnow() - timedelta(minutes=60) job_new = create_job(notify_db, notify_db_session, scheduled_for=one_minute_ago, job_status='scheduled') job_old = create_job(notify_db, notify_db_session, scheduled_for=one_hour_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 2 assert jobs[0].id == job_old.id assert jobs[1].id == job_new.id
def test_set_scheduled_jobs_to_pending_updates_rows(sample_template): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) one_hour_ago = datetime.utcnow() - timedelta(minutes=60) create_job(sample_template, scheduled_for=one_minute_ago, job_status='scheduled') create_job(sample_template, scheduled_for=one_hour_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 2 assert jobs[0].job_status == 'pending' assert jobs[1].job_status == 'pending'
def test_set_scheduled_jobs_to_pending_gets_all_jobs_in_scheduled_state_before_now(sample_template): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) one_hour_ago = datetime.utcnow() - timedelta(minutes=60) job_new = create_job(sample_template, scheduled_for=one_minute_ago, job_status='scheduled') job_old = create_job(sample_template, scheduled_for=one_hour_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 2 assert jobs[0].id == job_old.id assert jobs[1].id == job_new.id
def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_not_scheduled( notify_db, notify_db_session): one_minute_ago = datetime.utcnow() - timedelta(minutes=1) create_job(notify_db, notify_db_session) job_scheduled = create_job(notify_db, notify_db_session, scheduled_for=one_minute_ago, job_status='scheduled') jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 1 assert jobs[0].id == job_scheduled.id
def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_scheduled_in_the_future( sample_scheduled_job): jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 0
def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_scheduled_in_the_future(sample_scheduled_job): jobs = dao_set_scheduled_jobs_to_pending() assert len(jobs) == 0