파이썬
-
[Django] Celery 작업 실패 시 콜백 함수 설정하기파이썬/장고 2021. 6. 20. 16:43
Celery는 분산 메시지 전달에 기반을 둔 오픈 소스 비동기 task queue이다. 진행 중인 프로젝트에서 데이터 수집 작업을 비동기로 처리하기 위해 장고와 연동해서 Celery를 사용하였는데, Celery가 수행하는 모든 작업은 별도의 작업 기록 테이블에서 관리되도록 하였다. 그런데 이를 위해서 작업 실패 시의 상태값 업데이트가 필요했다. 처음에는 일정 시간마다 result backend를 조회하는 스케줄러를 통해서 상태값을 업데이트해볼까 생각했지만, 배보다 배꼽이 커지는 격이어서 다른 방법을 찾게 되었다. 그러던 중 Celery에서 on_failure()라는 콜백 함수를 지원하는 걸 발견했다. 사용 방법은 다음과 같다. 1. celery.Task 클래스 상속 후 on_failure() 함수 오버라..
-
[파이썬] 숫자인지 여부 판별하기파이썬 2021. 6. 13. 21:09
파이썬 기반의 프로젝트를 진행하는 중, 여러 출처에서 데이터를 수집하여 공통 테이블에 적재하는 기능을 구현해야 했다. DBMS는 PostgreSQL을 사용하였는데 number 타입 컬럼에 들어갈 데이터가 문자열이라 하더라도, 정수 또는 실수의 숫자 형태라면 타입 캐스팅을 해서 테이블에 적재되도록 하는 요구사항이 있었다. 따라서 해당 작업을 수행할 수 있는 검증 함수를 구현했다. 먼저 아래와 같은 틀로 함수를 정의한다. def is_number(value): is_number_flag = True #검증 로직 return is_number_flag 숫자로의 타입 캐스팅은 float() 함수를 이용하였다. 파이썬 REPL에서 아래처럼 간단히 테스트 해볼 수 있다. python a = '143.56' prin..
-
Anaconda 명령어파이썬 2021. 6. 6. 17:55
아나콘다를 이용할 때 필요한 기본적인 명령어를 정리하였다. 가상환경 목록 조회 conda env list 가상환경 생성 conda create -n(--name) ["생성할 가상환경 이름"] python=["사용할 파이썬 버전"] #ex conda create -n test python=3.6.5 가상환경 삭제 conda env remove -n(--name) ["삭제할 가상환경 이름"] #ex conda env remove -n test 가상환경 활성화 conda activate ["활성화할 가상환경 이름"] #ex conda activate test 가상환경 비활성화 conda deactivate ["비활성화할 가상환경 이름"] #ex conda deactivate test 패키지 목록 조회 #현재 ..