airflow에서 dag을 만들고 실행을 시켰는데 task는 분명히 뜨고 해당 task도 실행중으로 나오는데, 상태값만 변하고 실행되지 않는 경우가 있습니다. 다음과 같은 경우가 그 현상에 해당 합니다.
아래와 같이 Task의 상태값이 분명히 실행으로 변경되었는데, 아래의 네모칸에 실행중(초록색)으로 변경되지 않습니다.
아무리 기다려도 역시 그대로 입니다. 그래서 어떻게 할지 고민했는데, airflow에서 강제로 "Run"을 시킬 수 있습니다. 강제로 queue에 넣어주는 방법입니다. 가끔씩 should가 느리게 동작해서 반응이 없을 경우가 있는데 이렇게 강제로 Run을 시켜서 동작 시키는 경우가 많기 때문에 같은 증상으로 보고 똑같이 실행해 봤습니다.
다음과 같이 강제로 "Run"으로 변경 해봤습니다.
아래와 같이 메시지가 뜨면서 대기열에 들어갔다고 하지만 역시 반응이 없습니다.
역시 동작하지 않습니다. 이렇게 오랜 시간을 계속 기다려도 역시 빈칸은 아무 반응이 없습니다. 계속해서 Refresh를 눌러도 별 다른 반응이 없습니다. 이런 현상을 해결을 못했는데, 우연히 발견 하였습니다. 저 같은 경우 jupyter 노트북에서 편집해서 airflow에 적용하고 있는데요. 실행하는 코드를 VS code에 넣었는데 거기에 syntax error가 있었습니다.
dag에는 syntax error가 없기 때문에 오류가 안나왔는데, dag에서 부르는 함수의 코드에서 syntax error가 있어서 아래와 같이 dag은 정상적으로 보이지만, 실행이 안되고 있었습니다.
함수의 코드를 수정하고 실행하면 다음과 같이 정상적으로 수행 되는 것을 볼 수 있습니다.
역시.. jupyter 말고 git으로 연동 하는게..좋을거 같네요. (아니면 코드 검사를 확실히..)