2012-01-24 1 views
3

데이터 캡처에 사용되는 기존 Python 클래스가 있습니다. 데이터 캡처를 시작하고 중지하는 start() 및 stop() 메서드가 있습니다. 지금이 클래스는 단일 파이썬 스크립트에서 사용되는 예 :선반없이 명령 줄 호출에서 Python 클래스 인스턴스를 유지 하시겠습니까?

dataGrabber = DataGrabber() 
dataGrabber.start() 
# do a bunch of stuff... 
dataGrabber.stop() 

우리는 시작을 탈옥과 기능을 중지하고 시작할 수 및 명령 줄에서 데이터 캡처, 예를 들어 중지하려면 :

python CaptureData.py start 
<<< go off and do something else >>> 
python CaptureData.py stop 

"start"인수로 스크립트를 호출 할 때 CaptureData.py가 DataGrabber 클래스의 인스턴스를 만들고 해당 클래스 인스턴스를 어떻게 든 저장하고 스크립트를 호출 할 때 액세스 할 수있는 방법이 필요합니다. "stop"인수.

shelve를 사용해 보았지만 DataGrabber 클래스에는 많은 인스턴스 메서드가 포함되어 있으며 Python에서는 인스턴스 메서드를 피클링 할 수 없습니다.

아이디어가 있으십니까? 내가 이것을 할 수있는 방법이 있습니까?

+0

실행이 명령 줄 호출 사이에서 계속되어야합니까? –

+0

예. start() 메서드는 데이터 캡처를 시작합니다. 임베디드 시스템과 통신하여 데이터를 수집합니다. 이것은 명령 줄에서 외부 적으로 중지 할 때까지 실행해야합니다. – user1167666

+0

어쨌든 선반을 사용하십시오 :) http://stackoverflow.com/a/1798869/16361 – AdamKG

답변

3

데몬을 만들고 싶습니다. 운영 체제에 따라이 작업을 수행하려면 python-daemon을 사용할 수 있어야합니다.

편집 : Windows를 사용 중이므로 대신 스크립트를 서비스로 실행할 수 있습니까?

This question 및 해당 답변은 매우 관련성이 높은 것처럼 보입니다. 대답은 심지어 단순 해 보입니다!

관련 문제