2016-08-13 3 views
3

Heroku Scheduler 부가 기능과 Heroku Temporize Scheduler 부가 기능의 차이점은 무엇입니까? 그들은 둘 다 자유롭고 예정된 일을하는 것처럼 보입니다.Heroku Scheduler 대 Heroku Temporize Scheduler, 차이점은 무엇입니까?

둘 다 어떻게 Heroku에서 Python sched을 실행하는 것과 비교할 수 있습니까?

저는 Heroku Python을 Postgres에 저장하여 매분마다 일부 웹 사이트를 긁어 모으기 위해 cron 작업을 하나만 실행하고 싶습니다. (나 또한 그렇게하도록 cron 작업에 쓸 무엇을 알아 내려고 노력하고있어,하지만 또 다른 질문입니다.)


업데이트를 솔루션 : danneu의 제안을

감사합니다, 작업 솔루션은 Heroku Scheduler를 사용하고있었습니다. this tutorial 덕분에 수퍼 설치가 간단했습니다.

는 (I은 예정 : 및 트위스트,하지만 두 번 내가 가지고 사용하여 시도 :

Application Error 
An error occurred in the application and your page could not be served. Please try again in a few moments. 

If you are the application owner, check your logs for details. 

이 가능하게 올바른 장소에 넣어의 경험 나의 부족 때문 그것은 작동하지 않았다. 동기화 작업자 Heroku guricorn. 세부 사항을 모르겠다.)

답변

2

임시 직원은 타사 서비스입니다. 그들의 자유 계획의 한계가 무엇인지 읽어야합니다. 무료 플랜은 하루에 20 번만 작업을 수행 할 수있는 것처럼 보이는데 이는 1 분 간격의 요구 사항과는 거리가 있습니다.

Heroku 's Scheduler는 Heroku에서 제공합니다. 그것은 각 작업에 대해 서버를 회전시키고 런타임에 대해 비용을 청구합니다. Heroku 스케줄러의 최소 작업 간격은 10 분이므로 원하는 것을 제공하지 않습니다.

페이지를 긁는 1 분 간격 동안, 나는 Heroku 앱 프로세스에서 동시 루프를 실행했다. Javascript의 setTimeout은 응용 프로그램 서버 (노드를 사용하는 경우)와 함께 실행할 수있는 동시 루프의 예입니다. Python sched 링크의 Twisted 예제가 Python과 동일한 것 같습니다.

당신이 Heroku의 프리 티어 (IRC에서 보았습니다.)를 사용하는 경우, 계정을 확인하면 매월 1,000 시간의 런타임이 제공됩니다 (그렇지 않은 경우 550 시간 만 소요됨). 신용 카드 번호를 알려주는 것을 의미합니다. 단일 dyno가 1 개월 동안 무료로 실행되는 데는 1,000 시간이면 충분합니다.

그러나 자유 계층 다이노는 HTTP 요청을받지 않고 X 분이 지나면 잠자기 상태가됩니다. 당연히 트위스티드/동시 루프 접근법은 루프가 응용 프로그램 프로세스 내에서 실행되기 때문에 dyno가 깨어 있고 실행되는 동안에 만 작동합니다.

따라서 dyno가 잠든다면, dyno가 다시 작동되어 다시 시작될 때까지 동시 루프가 중지됩니다.

dyno를 한달 내내 깨어있게하려면 dyno를 $ 7/월에 업그레이드 할 수 있습니다.