진행과정
- airflow에서 sshoperator를 통해 윈도우에 있는 [2]hwp_to_pdf.py 파일을 동작시킴. task 실패 코드는 아래와 같음
hwp_to_pdf = SSHOperator(
task_id='hwp_to_pdf',
ssh_conn_id='ssh_default',
command=f'cd {default_path} && poetry shell && python [2]hwp_to_pdf.py', # Windows 경로에서 Python 스크립트 실행 명령어
conn_timeout=30, # 연결 시간 초과 설정
cmd_timeout=60, # 명령 시간 초과 설정
)
정확한 위치를 확인하기 위해 곳곳에 실행 로그를 추가
win32 모듈 동작 부분에서 진행안되는것 확인
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") # 보안 경고 창 없애기
#한글 프로그램을 보이도록 설정
hwp.XHwpWindows.Item(0).Visible = False
#파일 열기
hwp.Open(os.path.join(path, name))
```
(동작이 그대로 멈춰서 에러 메세지는 timeout error(task 실행 제한시간 60초 ) )
윈도우의 cmd에서 1번의 명령어(commend) 를 직접 쳐봤음. 2번포함 모두 정상동작
ssh 접속 제대로 된건지 확인 -> 접속됨
가상환경 활성화 된것 확인 -> 로그에서 확인
모듈잘 설치됐는가? -> import 에러 안뜸 + 4번으로 코드 정상인것 확인
task 최대 실행시간(cmd_timeout) 늘려봄 -> 여전히 안됨
진행중
고려하지 않아도 되는것
가상환경(poetry) 활성화 된것 확인
ssh 접속 성공 한것도 확인.
모듈 설치 잘 돼있음 -> 로그에 import 에러 안뜸
cmd_timeout 시간 늘려도 안됨
코드 자체는 동작함. 다만 win32 모듈 부분만 동작안함.
실행 내용
2024-07-02 20:48:36 - root - DEBUG - 15. 다운로드 파일 처리 시작
2024-07-02 20:48:36 - root - DEBUG - 11. 한글 파일 PDF 변환 시작 (여기서 멈추고 진행안됨)
airflow로그
[2024-07-02, 11:48:36 UTC] {ssh.py:524} INFO - (.venv) weare@DESKTOP-BE1I4GE C:\Users\weare\pro-ollama\pdf-rag>
[2024-07-02, 11:49:36 UTC] {taskinstance.py:1937} ERROR - Task failed with exception
Traceback (most recent call last):
File "/home/airflow/.local/lib/python3.8/site-packages/airflow/providers/ssh/operators/ssh.py", line 178, in execute
result = self.run_ssh_client_command(ssh_client, self.command, context=context)
File "/home/airflow/.local/lib/python3.8/site-packages/airflow/providers/ssh/operators/ssh.py", line 163, in run_ssh_client_command
exit_status, agg_stdout, agg_stderr = self.hook.exec_ssh_client_command(
File "/home/airflow/.local/lib/python3.8/site-packages/airflow/providers/ssh/hooks/ssh.py", line 549, in exec_ssh_client_command
raise AirflowException("SSH command timed out")
airflow.exceptions.AirflowException: SSH command timed out
[2024-07-02, 11:49:36 UTC] {taskinstance.py:1400} INFO - Marking task as FAILED. dag_id=execute_external_script_dag_ssh, task_id=hwp_to_pdf, execution_date=20240702T114809, start_date=20240702T114834, end_date=20240702T114936
[2024-07-02, 11:49:36 UTC] {standard_task_runner.py:104} ERROR - Failed to execute job 741 for task hwp_to_pdf (SSH command timed out; 28723)
[2024-07-02, 11:49:36 UTC] {local_task_job_runner.py:228} INFO - Task exited with return code 1
[2024-07-02, 11:49:36 UTC] {taskinstance.py:2778} INFO - 0 downstream tasks scheduled from follow-on schedule check
'오류 해결 과정' 카테고리의 다른 글
험난했던 원격 실행 도전기(PsExec,WinRMOperator) (0) | 2024.07.15 |
---|---|
가상 환경 활성화 후 스크립트 실행 시 오류 (0) | 2024.07.10 |
ChromeDriver 'DevToolsActivePort' 오류 해결: --no-sandbox 옵션의 중요성 (0) | 2024.07.07 |
(python 설치 에러) A newer version of the Python launcher is already installed (1) | 2024.06.19 |
Poetry 사용 시 도커 컨테이너쉘에서 모듈 미 설치 현상 (0) | 2024.06.12 |