def job_post_save(sender, **kwargs): instance = kwargs['instance'] instance.set_status(status=JobLifeCycle.CREATED) # Clean outputs and logs delete_job_logs(instance.unique_name) delete_job_outputs(instance.unique_name)
def test_build_job_logs_path_creation_deletion(self): job = BuildJobFactory() job_logs_path = get_job_logs_path(job.unique_name) create_job_logs_path(job.unique_name) open(job_logs_path, '+w') # Should be true, created by the signal assert os.path.exists(job_logs_path) is True delete_job_logs(job.unique_name) assert os.path.exists(job_logs_path) is False
def build_job_pre_delete(sender, **kwargs): job = kwargs['instance'] # Delete outputs and logs delete_job_logs(job.unique_name) if not job.is_running: return celery_app.send_task(SchedulerCeleryTasks.BUILD_JOBS_STOP, kwargs={ 'project_name': job.project.unique_name, 'project_uuid': job.project.uuid.hex, 'build_job_name': job.unique_name, 'build_job_uuid': job.uuid.hex, 'update_status': False })
def job_pre_delete(sender, **kwargs): job = kwargs['instance'] # Delete outputs and logs delete_job_outputs(persistence_outputs=job.persistence_outputs, job_name=job.unique_name) delete_job_logs(job.unique_name) if not job.is_running: return celery_app.send_task( SchedulerCeleryTasks.JOBS_STOP, kwargs={ 'project_name': job.project.unique_name, 'project_uuid': job.project.uuid.hex, 'job_name': job.unique_name, 'job_uuid': job.uuid.hex, 'update_status': False, 'collect_logs': False, })