urllib2를 사용하여 URL 요청을 수행하는 python 스크립트가 있습니다. 비동기 적으로 실행되고 기능을 수행하는 5 개의 프로세스 풀이 있습니다. 이 함수는 url을 호출하고, 데이터를 가져 와서 필요한 형식으로 구문 분석하고, 계산을 수행하고 데이터를 삽입하는 함수입니다. 데이터의 양은 각 URL 요청마다 다릅니다.stuck python 프로세스를 모니터
나는이 스크립트를 cron 작업을 사용하여 5 분마다 실행합니다. 가끔 ps -ef | grep python
할 때, 나는 막힌 프로세스를 참조하십시오. 프로세스를 추적 할 수있는 다중 처리 클래스 내에서의 프로세스 의미를 추적 할 수있는 방법이 있습니까? 예를 들어, 상태 의미가 완료되었거나 지연되었거나 죽었습니까? 추적 할 수있는 방법이
try:
Url = "http://gotodatasite.com"
data = urllib2.urlopen(Url).read().split('\n')
except URLError, e:
print "Error:",e.code
print e.reason
sys.exit(0)
:
내가 비동기가
pool = Pool(processes=5)
pool.apply_async(getData,)
을 처리 호출하는 방법이 있습니다 그리고 다음은 urllib2가 요청을 수행 GetData의의 일부입니다 : 여기에 코드입니다 프로세스를 멈추고 다시 실행하십시오.
"stuck?" 이것이 무엇을 의미하는지 설명 할 수 있습니까? –
왜'multiproccesing' 명령으로 실행해야합니까? 여러 cron 작업을 사용하는 것이 잘못된 이유는 무엇입니까? –
@Andrew : 걸림돌로 말하면 프로세스를 중단했습니다. – ash