다음과 같은 프로세스를 30 초 간격으로 반복하는 간단한 Python 프로그램이 있습니다. Gmail API를 사용하여받은 편지함을 확인하고 특정 종류의 메일을 찾으며 발견, Twilio API를 사용하여 나를 호출합니다.간단한 Python 스크립트를 배포하여 Heroku에서 계속 실행하는 데 문제가 있음
나는 내 컴퓨터에서이 프로그램을 실행했지만, 연중 무휴로 실행하고 싶습니다. 친구가 Heroku를 사용하여이 작업을 수행 할 수 있다고 말했습니다. 나는 이것을 어떻게하는지 이해할 수없고 어떤 도움을 주셔서 감사합니다. 나는 Heroku를 설정하고, 먼저 스크립트를 배포하려고했는데 (아래에서 재현했습니다) 게시물의 끝에 오류가 재현되었습니다.
Flask 앱 기능 내에서 실행 해 보았지만 Heroku 링크를 열었을 때 코드가 한 번만 실행되어 백그라운드에서 계속 실행되도록 할 수 없었습니다.
다른 방법으로/다른 플랫폼/플랫폼 제공 업체를 사용해야하는 경우 알려 주시기 바랍니다.
#Procfile
web: python gmail_twilio.py
#Logs error
2016-07-13T03:35:39.635528+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=pacific-woodland-28065.herokuapp.com request_id=54912af8-83a6-4feb-bb36-def791621e5f fwd="171.50.142.162" dyno= connect= service= status=503 bytes=
#gmail_twilio.py
while True:
inbox_list = ListMessagesMatchingQuery(service, '##', query="in:inbox -label:called ")# create list with non called labels
if len(inbox_list)>0:
twiliocall() # function to call me
for element in inbox_list:
ModifyMessage(service, 'me', element[u'id'], {'removeLabelIds': [], 'addLabelIds': ['Label_3']}) # add called label
time.sleep(30) # wait for 30 seconds