def test_should_get_jobs_seven_days_old_filters_type(notify_db, notify_db_session): eight_days_ago = datetime.utcnow() - timedelta(days=8) letter_template = create_template(notify_db, notify_db_session, template_type=LETTER_TYPE) sms_template = create_template(notify_db, notify_db_session, template_type=SMS_TYPE) email_template = create_template(notify_db, notify_db_session, template_type=EMAIL_TYPE) job = partial(create_job, notify_db, notify_db_session, created_at=eight_days_ago) job_to_remain = job(template=letter_template) job(template=sms_template) job(template=email_template) jobs = dao_get_jobs_older_than_limited_by(job_types=[EMAIL_TYPE, SMS_TYPE]) assert len(jobs) == 2 assert job_to_remain.id not in [job.id for job in jobs]
def remove_transformed_dvla_files(): jobs = dao_get_jobs_older_than_limited_by(job_types=[LETTER_TYPE]) for job in jobs: s3.remove_transformed_dvla_file(job.id) current_app.logger.info( "Transformed dvla file for job {} has been removed from s3.". format(job.id))
def test_should_get_jobs_seven_days_old(notify_db, notify_db_session, sample_template): """ Jobs older than seven days are deleted, but only two day's worth (two-day window) """ seven_days_ago = datetime.utcnow() - timedelta(days=7) within_seven_days = seven_days_ago + timedelta(seconds=1) eight_days_ago = seven_days_ago - timedelta(days=1) nine_days_ago = eight_days_ago - timedelta(days=2) nine_days_one_second_ago = nine_days_ago - timedelta(seconds=1) job = partial(create_job, notify_db, notify_db_session) job(created_at=seven_days_ago) job(created_at=within_seven_days) job_to_delete = job(created_at=eight_days_ago) job(created_at=nine_days_ago) job(created_at=nine_days_one_second_ago) jobs = dao_get_jobs_older_than_limited_by( job_types=[sample_template.template_type]) assert len(jobs) == 1 assert jobs[0].id == job_to_delete.id
def remove_csv_files(job_types): jobs = dao_get_jobs_older_than_limited_by(job_types=job_types) for job in jobs: s3.remove_job_from_s3(job.service_id, job.id) current_app.logger.info("Job ID {} has been removed from s3.".format( job.id))