prefect 서버가 죽거나 사라져도, RDS만 다시 잘 지정해줘서 띄우면 서버가 죽기 직전 상태로 돌아갈 수 있다!
RDS만 남아 있으면 괜찮다.
prefect server start
를 통해 뜨는 docker container SQL 서버
가 아닌 직접 운영 중이거나 관리하려고 만든 RDS를 쓰고 싶은 필요성이 생기게 된다. prefect server start
로 실행한 서버가 죽거나 문제가 생기더라도 RDS를 잘 유지하면 원래 상태로 돌릴 수 있기 때문이다. config.toml
설정을 통해 줄 수 있다. connection_url
만 줘도 제대로 동작한다! prefect를 띄우게 되면 아래 사진 처럼 prefect는 각종 테이블들을 만들어낸다.
아래 테이블 중 cloud를 안 쓰고 직접 운영할 때 직접 관리해야하는 테이블은 log와 관련된 테이블이다.
log 데이터가 계속 쌓이기만 하고 어떻게 지울 수 있는지 제대로 된 안내를 찾기 힘들다.
prefect는 slack에 커뮤니티?가 있는데 log 정리는 자주 올라오는 질문이고 다들 DB에 delete 쿼리를 직접 날려서 관리하는 것을 알 수 있다.
지워야할 테이블은 log, task_run, task_run_state, flow_run, flow_run_state 5개이다.
log, task_run, task_run_state 는 updated
컬럼을 기준으로 delete 쿼리를 통해 날려버리고 vaccum을 하면 된다.
주의해야할 테이블은 flow_run
, flow_run_state
테이블이다.
flow_run_state
테이블을 update 컬럼 기준으로 delete를 때려버리는 실수를 한적이 있다. prefect server start
주의사항prefect server start
를 실행시 가끔 docker 관련 오류가 난다. sudo
권한으로 그냥 실행하게 되는데 이러면 ~/.prefect/config.toml
설정이 먹지 않기 때문에 sudo 권한으로 문제를 해결하면 안된다. prefect server start
로 재시작 할 때 주의사항 알아봄