묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
스케줄링, dag removed원인 질문입니다.
안녕하세요 강사님,2가지 질문이 있습니다. 데일리 스케줄일 때 금년 11월을 돌린다고 가정하면 기간은 2024/11/01~2024/11/30일입니다. start_date=20241101, end_date=20241130으로 설정하였고, dag를 11/17일에 실행한다고 했을 때, 11/1일부터 17일까지 다 돌면 11/18~11/30일까지는 날짜가 바뀌면 알아서 schedule_interval(매일 1시 등)에 따라 자동으로 task가 실행됐음 좋겠는데 현재 재가 테스트 해본 dag에서는 17일까지만 돌고, 11/18일이 되어도 task가 자동으로 실행이 안되네요. 11/19일이 되어도 18일날짜부터 중지되어있습니다.비슷하게 검색했을 땐 catchup을 변경하는 방법이 있는것 같은데 이건 과거 날짜일 경우에만 해당하는것으로 보입니다. (참고로 위 dag에선 catchup=True로 했습니다만 18일은 안돌아갑니다) 저처럼 미래 날짜도 자동화하고 싶을 때 config설정 변경 등 혹시 방법이 있을까요?날짜별로 task를 돌리는 dag가 있습니다. 특정 task가 어떤 날짜에는 success가 되지만 어떤 날짜는 job status가 "removed" 되었다고 하여 task가 실행되지 않습니다. failed라고 뜨면 log라도 확인해볼텐데 removed라 log로 원인파악할 수도 없습니다 (could not read served logs: request URL is missing an 'http://' or 'https://' protocol라고만 뜹니다) 이런 상황일 때원인을 파악할 수 있는 방법이 있을까요? dag를 실행하는 code가 문제라고 하기에는 동일 코드로 실행한 dag가 또 특정 날짜는 잘 돌아가고, 또 어떤 날짜는 안돌아가는 증상이라 원인을 찾기가 어려워 여쭤봅니다. 제가 유추하는 원인으로는 동일한 dag_id로 code를 조금 바꿔서 다시 실행시켰었는데 이런 증상이 처음 나타났습니다. 동일한 dag_id를 재실행 할 때 주의할 점이 있나요? (기존 dag는 airflow에서 삭제해고 다시 올렸는데도 removed되는 현상이 나타나네요)
-
미해결Airflow 마스터 클래스
airflow No host supplied 에러
안녕하세요, 강사님. 자세한 설명 덕분에 열심히 듣고 있습니다. 다름이 아니라 며칠 전만 해도 업로드하고 나서 잘 돌아갔는데 최근에는 에어플로어에 업로드만 되면 위 사진과 같이 동일 내용으로 에러가 납니다. 검색해서 해결해보려 했는데 도저히 해결이 되지 않아서 문의 드립니다! yaml 파일에서 webserver에서 environment 추가도 해 봤는데 전혀 해결되지 않아요. 도와주시면 감사드리겠습니다 ㅠㅠ
-
미해결Airflow 마스터 클래스
Label 설정 질문드립니다.
t1 >> [t2, t3, t3] 의 실행흐름에서 t1 >> Label('description') >> [t2, t3, t3] 으로 설정했을때 그래프에서 모든 분기에 설명이 공통으로 설정되는것을 확인했습니다. 그런데 각각의 실행흐름에 대해 라벨링을 하고싶을때는t1 >> Label('dscritpion') >> t2t1 >> Label('dscritpion') >> t3 이렇게 설정하는방법말고 다른 방법은 없을까요? 예를들어 t1 >> [Label('description'), Label('description')] >> [t2, t3]이렇게는 설정이 안되는것으로 보여서요
-
미해결Airflow 마스터 클래스
relativedelta 실행 결과 문의
now = datetime(year=2023, month=3, day=30) print('현재시간:' + str(now)) print('-----------------월 연산 --------------------') print(now + relativedelta.relativedelta(months=1)) print(now.replace(month=1))위의 코드 실행 결과가 다르게 나오는 것 같은데요..1개월 후면 4월30일이 맞는 것 아닌가요?현재시간:2023-03-30 00:00:00 -----------------월 연산 -------------------- 2023-04-30 00:00:00 2023-01-30 00:00:00감사합니다.
-
미해결
sudo docker compose down 오류
에어플로우 서비스를 내리고 다시 올리려고 합니다.아래와 같이 sudo docker compose down을 하게되면 오류가 뜹니다.오류: (root) Additional property votumes is not allowed이거 어떻게 해야 하나요 ?
-
미해결Airflow 마스터 클래스
Bash Operator & 외부 쉘파일 수행하기 강의 질문
Bash Operator & 외부 쉘파일 수행하기강좌에서 보여주신내용을 따라하던중 쉘스크립트를 파라미터없이 작성했는데 파라미터가 없는경우 airflow에서 위치를 못찾고jinja2.exceptions.TemplateNotFound: /opt/airflow/plugins/shell/select.sh 에러를 발생시키는데 파라미터의 유무로 경로를 찾고/못찾고가 차이나는 원인이 무엇인지 궁금해서 질문드립니다.
-
미해결Airflow 마스터 클래스
task 연결 질문입니다.
t1 >> t3t2 >> t3 이렇게 테스크를 연결했을때 case 1 : t1, t2 둘다 종료되어야 t3가 실행되는지 case 2 : t1이 종료되었을떄, t2가 종료되었을때 각각 t3가 한번씩 실행되는지 궁금합니다. 위의 방법과 [t1, t2] >> t3 가 동등하다고 설명해주셨는데case 1, case2 두가지 방법을 설정하고싶을때는 어떻게 처리하면 될까요?
-
해결됨Airflow 마스터 클래스
DAG 스케줄
with DAG( dag_id="shedule_3_hour", schedule="3 * * * *", start_date=pendulum.datetime(2023, 3, 1), catchup=False ) as dag: def select_fruit(): fruit = ['APPLE','BANANA','ORANGE','AVOCADO'] rand_int = random.randint(0,3) time.sleep(10) print(fruit[rand_int]) py_t1 = PythonOperator( task_id='py_t1', python_callable=select_fruit ) py_t1 처음 DAG을 시작(PAUSE)했을때는 2024-10-06, 06:01:47 UTC입니다. DAG이 2024-10-06, 06:03:00 UTC에 처음 시작될거라 예상했는데 왜 처음 DAG을 시작(PAUSE)한 시간인 2024-10-06, 06:01:47 UTC에 처음 실행하는지 궁금합니다.참고로 처음 실행되었던 작업에서도 오퍼레이터가 정상 실행되었습니다.물론 약 2분 후 2024-10-06, 06:03:00 UTC에 작업도 실행되었습니다.
-
해결됨Airflow 마스터 클래스
Next dagrun 문의드립니다
from airflow import DAG 2import pendulum 3import datetime 4from airflow.operators.python import PythonOperator 5import random 6import time 7 8with DAG( 9 dag_id="shedule_3_hour", 10 schedule="3 * * * *", 11 start_date=pendulum.datetime(2023, 3, 1), 12 catchup=False 13) as dag: 14 def select_fruit(): 15 fruit = ['APPLE','BANANA','ORANGE','AVOCADO'] 16 rand_int = random.randint(0,3) 17 time.sleep(10) 18 print(fruit[rand_int]) 19 20 py_t1 = PythonOperator( 21 task_id='py_t1', 22 python_callable=select_fruit 23 ) 24 25 py_t1Airflow Webserver UI DAG Detail페이지에 있는 내용 중 Next dagrun ~ 관련 항목이 이해가 안돼서 질문드립니다.UTC 기준 10:34입니다. 설명 편의를 위해 현재시간으로 지칭하겠습니다! Next dagrun이 2024-10-06T10:03:00+00:00 값을 가지는 이유가 궁금합니다.Next dagrun이 다음 DAG 실행 예정 시간인거같은데 왜 현재실행 보다 과거인지 모르겠습니다.2024-10-06T11:03:00+00:00이 맞는거 같아서요. 현재 시간이 10:34이고 3분마다 실행.10:03은 실행완료. 이후 11:03에 실행되어야함.Next dagrun create after : 다음 DAG은 11:03에 실행되어야하므로 11:03에 DAG Run 생성(11:03에 실행하는) DAG 기준으로 처리해야하는 데이터 범위는 10:03~11:03이므로 Next dagrun data interval end는 11:03, Next dagrun data interval start는 10:03.(1) Next dagrun 관련 항목의 정확한 의미와 Next dagrun과 Next dagrun create after 차이를 정확히 몰라서 생기는 문제 같기도 합니다.(1-1) Next dagrun 관련 항목의 의미아래 내용이 맞는지 확인 부탁드립니다! - Next dagrun: 다음 DAG 실행 예정 시간Next dagrun create after: 다음 DAG 생성 예정 시간Next dagrun data interval end: 다음 DAG 데이터 간격 종료 시간Next dagrun data interval start: 다음 DAG 데이터 간격 시작 시간 (1-2) Next dagrun과 Next dagrun create after 차이 Next dagrun 과 Next dagrun create after 은 항상 같나요? Next dagrun create after는 정해진 시간에 생성되고(3분 마다) Next dagrun 은 Next dagrun create after이후에 되는데 즉, DAG run이 생성되고 실행되는거 맞나요? (Airflow 공식 문서에 Web UI에 있는 항목별 의미를 알 수 있는 페이지가 있는지 찾아보았는데 없어서 질문드립니다!아래 링크보면 Airflow UI 설명은 간단하게 있는데 항목별 설명은 없네요...)https://airflow.apache.org/docs/apache-airflow/stable/ui.html)
-
미해결Airflow 마스터 클래스
DAG 자동화 문의
안녕하세요!dag 생성 중에 문의가 있어서 질문드립니다.저희가 dag파일을 생성할 때, 스케줄로 DAG 실행 주기를 설정하는데요.매번 공부하고 나서 docker compose down으로 컨테이너를 내리면, 실행 주기에 맞춰서 dag가 실행되지 않는 것 같아서요. 컴퓨터를 off한 상황에서도 postgres DB로 데이터가 적재되도록 만든 dag가 작성한 스케줄에 맞춰서 실행되려면 어떻게 해야하나요? 감사합니다!
-
미해결Airflow 마스터 클래스
airflow에 필요 패키지 설치방법 문의
안녕하세요!유튜브 API로 댓글 받아온 뒤, 텍스트 처리 후 postgres DB에 업로드하는 DAG 생성 py파일을 스터디 중에 있는데요.텍스트 처리할 때 필요한 아래 패키지를 설치하려고 다음과 같은 시도를 했습니다.# wsl에서 root 계정으로 진입 sudo docker exec -u root -it <계정명>-airflow-webserver-1 /bin/bash # 필요한 패키지 설치 apt-get update apt-get install default-jdk -y #Airflow 사용자로 전환su - airflow #패키지 설치pip install JPype1 pip install konlpy #컨테이너 종료 및 재시작sudo docker-compose down sudo docker-compose up 하지만 airflow UI에서는 다음과 같은 에러로 DAG를 만든 py파일이 보이지 않습니다.Broken DAG: [/opt/airflow/dags/youtube_to_postgres.py] Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/opt/airflow/dags/youtube_to_postgres.py", line 5, in <module> from konlpy.tag import Okt ModuleNotFoundError: No module named 'konlpy' 필요한 패키지를 설치하는 방법이 잘못되었을까요? 제가 설치해야하는 것들을 설치하는 방법을 알려주시면 감사하겠습니다!apt-get install default-jdk -ypip install JPype1 pip install konlpy
-
미해결Airflow 마스터 클래스
airflow를 도커없이 돌리면 안되나요?
안녕하세요. 에어플로우 wsl 설치할때 도커를 설치하는데요.클라우드에서도 그렇고 윈도우에서도 그렇고 우분투 위에서 그냥 airflow 설치하면 안되나요?꼭 도커를 써야하나요?
-
미해결Airflow 마스터 클래스
docker 설치 과정에서 Certification 문제
안녕하세요.Airflow 설치 과정에서 도커 설치 하려는데sudo apt-get update 치면Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. 라고 뜹니다.구글링해서 https://velog.io/@hyojinnnnnan/%EB%A6%AC%EB%88%85%EC%8A%A4-curl-60-SSL-certificate-problem-unable-to-get-local-issuer-certificate 참고하여 보안 파일에 download.docker.com 를 추가했는데도 계속 동일한 오류가 뜨는데 어떻게 해결할 수 있나요? ㅠㅠ답변 부탁드립니다.
-
미해결Airflow 마스터 클래스
아래 프로젝트가 가르쳐주신 내용으로 가능한 수준인지 문의드립니다.
현재 커리큘럼을 모두 수강 후에 아래 실습이 가능한지 여쭤봅니다!(파이썬으로 단순 분석 및 크롤링은 가능하다는 전제하에 airflow 배치 및 기타 기술적인 요소에 대해 궁금합니다.) 1~2주에 한번 배치 작업 Task 1 유튜브 A 채널의 영상 자막 + 댓글 크롤링Task 2 크롤링 된 컨텐츠 별 자막 내용에 기반하여 ChatGPT를 활용한 영상 내용 요약 -> 블로그 포스팅Task 3 컨텐츠별 자막 텍스트 분석으로 컨텐츠별 조회수, 댓글 수 , 긍부정 비율 대시보드 시각화 파이썬으로 크롤링 코드 및 텍스트분석이 가능하다는 전제하에,위 TASK들을 AIRFLOW를 사용해 자동화하는 프로젝트를 현재 영상에서 알려주시는 지식으로 구현가능한지궁금합니다!아직 끝까지 수강 전이라 질문의 내용이 부족할 수 있지만, 블로그포스팅 자동화, 대시보드 시각화 내용이 있는 듯 해서 여쭤봅니다!그리고 현재 커리큘럼에는 Api로 데이터 받아오는 실습만 있는데, 크롤링으로 데이터를 가져오게되면 달라지는 부분이 많을지도 궁금합니다.
-
미해결Airflow 마스터 클래스
어느순간 dags에 업로드해도 업로드가 되지않네요
airflow에서 잘되다가 윈도우 업데이트 이후 dags에 파일을 새로 생성해도 airflow에 추가가 되지 않습니다.해결을 어떻게 해야할까요?vlomes에 경로도 수정했이미 올라와있는 dags는 코드를 수정하면 반영은 되더라고요,
-
미해결Airflow 마스터 클래스
data_interval_start가 배치일로 나오는 이유 문의
안녕하세요.우선 강사님, 좋은 강의 잘 듣고 있습니다. [섹션 5. Template Variable > Airflow 날짜개념] 강의 관련하여 질문 드립니다. Airflow 2.10.0 버전 사용 중이며, 강의와 같이 테스트를 진행하였는데, data_interval_start이 이전 배치일이 아닌 배치일로 나와서 문의드립니다.DAG의 start_date를 2024년 9월 1일로 설정 후 소급 처리하였습니다. 아래와 같이 dag_run이 배치일일텐데, 왜 data_interval_start가 이전 배치일(2024.08.31)이 아닌 배치일로 나올까요?'dag_run': <DagRun dags_python_show_templates @ 2024-09-01 00:30:00+00:00: scheduled__2024-09-01T00:30:00+00:00, state:running, queued_at: 2024-09-06 09:11:26.187022+00:00. externally triggered: False>,'data_interval_end': DateTime(2024, 9, 2, 0, 30, 0, tzinfo=Timezone('UTC')),'data_interval_start': DateTime(2024, 9, 1, 0, 30, 0, tzinfo=Timezone('UTC')),'ds': '2024-09-01',
-
미해결Airflow 마스터 클래스
email operator dag 수행 시 오류
강의 내용대로 진행하여 dag파일 수행 시 아래와 같은 오류가 뜹니다.ㅠ 해결방법 알려주세요!!credential 에러인 듯한데, IMAP설정, 앱 비밀번호 설정, yaml파일 수정은 모두 완료했었습니다.! 6645fe320334 *** Found local files: *** /opt/airflow/logs/dag_id=dags_email_operator/run_id=manual__2024-09-01T09:02:54.442821+00:00/task_id=send_email_task/attempt=1.log [2024-09-01, 09:02:58 UTC] {local_task_job_runner.py:123} ▶ Pre task execution logs [2024-09-01, 09:02:59 UTC] {warnings.py:112} WARNING - /home/**/.local/lib/python3.12/site-packages/***/utils/email.py:155: RemovedInAirflow3Warning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead. send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) [2024-09-01, 09:02:59 UTC] {email.py:272} INFO - Email alerting: attempt 1 [2024-09-01, 09:03:00 UTC] {taskinstance.py:3301} ERROR - Task failed with exception Traceback (most recent call last): File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 767, in executetask result = executecallable(context=context, **execute_callable_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 733, in executecallable return ExecutionCallableRunner( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run return self.func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper return func(self, args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/email.py", line 79, in execute send_email( File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 80, in send_email return backend( ^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 155, in send_email_smtp send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 282, in send_mime_email smtp_conn.login(smtp_user, smtp_password) File "/usr/local/lib/python3.12/smtplib.py", line 739, in login (code, resp) = self.auth( ^^^^^^^^^^ File "/usr/local/lib/python3.12/smtplib.py", line 641, in auth response = encode_base64(initial_response.encode('ascii'), eol='') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UnicodeEncodeError: 'ascii' codec can't encode character '\xa0' in position 26: ordinal not in range(128) [2024-09-01, 09:03:00 UTC] {logging_mixin.py:190} INFO - Task instance in failure state [2024-09-01, 09:03:00 UTC] {logging_mixin.py:190} INFO - Task start:2024-09-01 09:02:59.026829+00:00 end:2024-09-01 09:03:00.894255+00:00 duration:1.867426 [2024-09-01, 09:03:00 UTC] {logging_mixin.py:190} INFO - Task:<Task(EmailOperator): send_email_task> dag:<DAG: dags_email_operator> dagrun:<DagRun dags_email_operator @ 2024-09-01 09:02:54.442821+00:00: manual__2024-09-01T09:02:54.442821+00:00, state:running, queued_at: 2024-09-01 09:02:54.472998+00:00. externally triggered: True> [2024-09-01, 09:03:00 UTC] {logging_mixin.py:190} INFO - Failure caused by 'ascii' codec can't encode character '\xa0' in position 26: ordinal not in range(128) [2024-09-01, 09:03:00 UTC] {taskinstance.py:1225} INFO - Marking task as FAILED. dag_id=dags_email_operator, task_id=send_email_task, run_id=manual__2024-09-01T09:02:54.442821+00:00, execution_date=20240901T090254, start_date=20240901T090259, end_date=20240901T090300 [2024-09-01, 09:03:00 UTC] {taskinstance.py:340} ▶ Post task execution logs
-
미해결Airflow 마스터 클래스
dag_seoul_api dag은 실행이 되는데 파일이 저장이 안되네요
json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다.그래서 docker inspect로 mount 속성을 보니{ "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" }propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
-
미해결Airflow 마스터 클래스
EmailOperator 강습 중에 실행 오류 관련 문의 드립니다.
강사님*** !!!! Please make sure that all your Airflow components (e.g. schedulers, webservers, workers and triggerer) have the same 'secret_key' configured in 'webserver' section and time is synchronized on all your machines (for example with ntpd) See more at https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#secret-key *** Could not read served logs: 403 Client Error: FORBIDDEN for url: http://e1efbc97ae25:8793/log/dag_id=dags_email_operator/run_id=manual__2024-08-24T06:22:20.118495+00:00/task_id=send_email_task/attempt=1.log [2024-08-24, 06:22:25 UTC] {local_task_job_runner.py:123} ▶ Pre task execution logs [2024-08-24, 06:22:25 UTC] {warnings.py:112} WARNING - /home/***/.local/lib/python3.12/site-packages/***/utils/email.py:155: RemovedInAirflow3Warning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead. send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) [2024-08-24, 06:27:49 UTC] {taskinstance.py:3301} ERROR - Task failed with exception Traceback (most recent call last): File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 767, in executetask result = executecallable(context=context, **execute_callable_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 733, in executecallable return ExecutionCallableRunner( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run return self.func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper return func(self, args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/email.py", line 79, in execute send_email( File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 80, in send_email return backend( ^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 155, in send_email_smtp send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 280, in send_mime_email smtp_conn.starttls() File "/usr/local/lib/python3.12/smtplib.py", line 779, in starttls self.sock = context.wrap_socket(self.sock, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/ssl.py", line 1042, in create self.dohandshake() File "/usr/local/lib/python3.12/ssl.py", line 1320, in do_handshake self._sslobj.do_handshake() TimeoutError: _ssl.c:983: The handshake operation timed out 위 문구와 함께 현재 smtp.gmail.com에 접속이 안되는데.. (worker에서도 접속이 안됨)혹시 다른 설정이 필요할게 있을까요?
-
미해결Airflow 마스터 클래스
Dag Start_date 에 현재 시간 넣을때 사이드 이펙트가 있을까요?
안녕하세요,인강 수강후 현업에서 Airflow 를 통해서 Dag 을 수행하고 있는데요,서비스 PM 등의 이유로 수시간(3~5시간) 정도 pause 를 진행하고 다시 unpause 를 하게 되는 경우가 있습니다.이럴때 unpasue 를 클릭하게 된다면 비록 Dag 에 catchup = false 로 지정해 놓더라도, 가장 최근에 수행 되었어야 할 Dag Run 은 수행되게 되는데요 Ex )schedule_interval = 10,20,30 1,2,3 * * * *Dag.catchup = Falsepause = 01:15unpause = 03:25수행되는 Dag run 의 data_interval_end = 03:20 그런데 여기서 3시 20 분 dag_run 을 수행시키지 않기 위해서 생각을 하다가, Dag 의 default_args 의 start_date 값을 datetime.now 로 주는것에 대해서 생각을 해봤는데요, 당장 간단하게 테스트를 했을때는 큰 문제가 없었는데, 혹시 해당 케이스가 문제가 되는 케이스가 있을까요? 그리고 start_date 를 now 로 하는것 말고도 다른 방안이 있다면 좋은 방안 부탁 드립니다감사합니다!