ThreeKcal / dags

repository of Airflow DAG files - use via updating airflow.cfg file
0 stars 0 forks source link

log 중복 생성 문제 #5

Open hahahellooo opened 1 month ago

hahahellooo commented 1 month ago

이슈

데이터를 하나만 읽어오는 문제는 해결했으나, 데이터 예측 후, 로그에 저장될 때 중복되어 저장되는 문제가 발생했습니다. 문제에 관하여 해결 아이디어가 있으면 공유 부탁 드립니다.

기본 코드 공유합니다.

log 파일 image

기본코드

def make_logf():
        from threekcal_model.worker import run
        import os
        import csv

        file_path = '/home/ubuntu/log/predict.log'
        print(file_path)
        dir_path=os.path.dirname(file_path)
        if not os.path.exists(dir_path):
            os.makedirs(dir_path, exist_ok=True)
        save_path = os.path.join(dir_path,'predict.log')
        log_data=run()

        if not os.path.exists(save_path):
            with open (save_path,mode="w",encoding='utf-8', newline='') as f:
                print("f1")
                writer = csv.writer(f)
                writer.writerow(['num','prediction_result','prediction_score','prediction_time'])

        with open(save_path, mode='a', encoding='utf-8', newline='') as f:
            writer = csv.writer(f)
            for i in range(len(log_data)):
                writer.writerow([log_data[i][0], log_data[i][1], log_data[i][2], log_data[i][3]])

        with open(save_path,mode='r',encoding='utf-8',newline='') as f :
            # csvfile이 비었는지 아닌지 확인
            csvfile = list(csv.reader(f))
            result = f"저장경로: {save_path}, 파일 크기 : {len(csvfile)}"
        return result
GITSangWoo commented 1 month ago

airflow의 템플릿 변수를 이용해서 기존 한파일로 로그를 새기려던 계획을 철회하고 주기적으로 만드는 방향으로 갔으면 좋겠습니다!