본문 바로가기
반응형

subprocess2

Python - subprocess, Popen, call차이, 작업경로(WorkDirectory) 변경 Python에서 실행중 추가로 프로그램을 실행해야 하는 경우가 발생할 경우 subprocess 모듈을 이용해서 사용할 수 있다. 아마 이모듈을 사용할 때 가장 많은 찾아보게 되는 부분이 Popen과 Call의 차이 그리고 WorkDirectory 변경일 것 같다. 그럼 핵심만 간단히 정리해 보자. Popen 과 call의 차이점 Popen과 call의 가장 큰 차이점은 바로 결과를 기다릴 수 있는 구조인가 이다. 실제로 call은 Popen을 감싼 구조라고 할 수 있다. 즉 Popen으로 실행한 프로그램을 실행을 기다렸다가, 실행이 완료되었을 때 결과를 받을 수 있는 것이 call인것이다. 따라서 실행 결과를 기다릴 필요가 없다면, Popen을 사용하고, 실행 결과를 대기하였다가 확인해야 하는 경우 ca.. 2024. 3. 3.
Python - Fastapi Long/slow Task timeout kill 해결 방안 FastAPI를 이용해서 Long/slow Task를 이용할 경우 많이 활용하는 방법은 바로 BackgroundTasks 기능을 활용하는 방법이다. 대부분의 경우 유용하게 add_task 만으로 별도의 작업을 관리할 수 있기 때문에 많이 유용하다. from fastapi import BackgroundTasks app = FastAPI() @app.post("/long-task") async def long_task(background_tasks: BackgroundTasks): # Long/Slow Task를 백그라운드에서 실행 background_tasks.add_task(do_long_task) async def do_long_task(): # Long/Slow Task를 수행하는 함수 ... 참고.. 2024. 2. 19.
반응형