[Python] 비동기 작업큐와 Global 객체에 관한 고찰
By 지훈현서 | 2017년 6월 27일 |
![[Python] 비동기 작업큐와 Global 객체에 관한 고찰](https://img.zoomtrend.com/2017/06/27/a0105618_5951e21479438.png)
지난번 비동기 작업 큐를 살펴보면서 Celery 대신 간단한 파이썬의 RQ를 살펴본 적이 있습니다.이것을 사용하다가 이번에 새로운 곳에 진행을 하려다 보니다음과 같은 경우가 생겼습니다. G_H = None def mytask(*args, **kwargs): if G_H is None: G_H = MyHandle() G_H.do() 위와 유사한 경우가 생겼습니다. 즉, G_H가 어떤 글로벌 인스턴스를 갖고이를 mytask 라는 태스크 수행 함수에서초기화 된 것을 계속 이용한다는 개념입니다. Singleton 패턴에서 잘 사용하고는 하지요.위에서는 글로벌로 해결하려고 합니다만... 위와 같은 접근이 RQ에서는 전혀 동작하지 않습니다. 작업 워커는 위와 같은 코드가 수행될
gpx 파일로 mapsforge의 map파일 만들기
By 일상사 | 2018년 4월 22일 |
![gpx 파일로 mapsforge의 map파일 만들기](https://img.zoomtrend.com/2018/04/22/f0118907_5adc117071d1b.png)
절대참조 : https://github.com/mapsforge/mapsforge 필요한 프로그램 01. python 설치 (2.7.x) 02.자바설치 03 osmosis 다운로드 여기가서 읽어본뒤 이것을 다운로드 받으면 된다. s:\>osmosis-latest 에 압축을 풀었다고 가정 04. map-writer 다운로드 많은 파일중에서 지금 현재는 mapsforge-map-writer-master-20180417.073816-214-jar-with-dependencies.jar 이 파일을 받는다. 아마 세월이 흐르면 날짜부분에 변화가 있을듯. s:\>osmosis-latest\lib\default 폴더에 위의 jar파일을 넣는다. 한줄요약 gpx 파일을 읽
[Python] subprocess 실행 시 timeout 적용하기
By 지훈현서 | 2020년 11월 22일 |
파이썬으로 다른 서브프로세스를 실행시킬 때 지금껏 12년 동안, subprocess.Popen(...)을 이용하여 왔었습니다. 그런데 만약 이 프로세스를 돌리다가 별도 timeout을 지정하고 싶다는 생각을 했는데 Popen 자체에는 해당 timeout 을 지정하는 곳이 없습니다. 대신, proc = subprocess.Popen(...)try: outs, errs = proc.communicate(timeout=5)except TimeoutExpired: proc.kill() outs, errs = proc.communicate() 또는 proc = subprocess.Popen(...)try: proc.wait(timeout=5)except TimeoutExpired:
docker-compose 상태의 mongodb dump 및 restore 하기
By 지훈현서 | 2020년 8월 30일 |
각설하고 docker-compose 환경에서의 mongodb 를 이용하고 있는 상황에서dump 하여 파일로 저장하고 다른 docker-compose 에서 이를 restore 해 보았습니다. 생각보다 안 풀려서 몇 시간 들였네요.아마 버전이나 옵션 또는 tty pipe 를 docker-compose 컨테이너와 진행하는데 문제가있나 봅니다. 우선 mongo-dump.sh 를 다음과 같이 만들어 줍니다. #!/bin/bashrm -f dump_*docker-compose exec my_mongo \ mongodump \ --host my_mongo:27017 \ --username root --password mypass \ --archive=/tmp/dum