2013-05-29 7 views
0

'Heroku Scheduler'로 예약하려는 API에서 데이터를 다운로드하는 무거운 프로세스가 있습니다. (https://addons.heroku.com/scheduler)Heroku Sceduler를 실행하는 작업자 프로세스 용 Procfile

작업에 전용 작업자 프로세스가 필요합니다. Procfile은 어떻게 정의해야합니까?

스케줄러 플러그인 설정 페이지에서 작업자 작업을 어떻게 정의해야합니까?

enter image description here

+0

어떤 언어를 사용하십니까? – MaFo

+0

RoR을 사용하고 있습니다. –

답변

5

난 당신이 레일을 사용하고 있으리라 믿고있어. 그렇지 않다면 지침을 약간 변경해야하지만 일반 지침이 작동합니다.

데이터 다운로더를 실행하려면 명령이 필요합니다. Rails에서 가장 좋은 방법은 /lib/tasks/scheduler.rake에 rake 명령을 작성하는 것입니다 (예 : api_data_downloader).

레일을 사용하지 않는 경우 스크립트를 만듭니다 (빈에 넣을 수 있음).

그런 다음 작업을 추가하려면 Heroku 대시 보드에서 앱으로 이동하십시오. '일반 정보'를 클릭 한 다음 스케줄러 추가 기능을 클릭하십시오. '직업 추가'를 클릭하고 빈도와 시간을 선택하십시오. 작업을 위해 스크립트를 실행할 명령을 입력하십시오. Rails의 경우 'rake api_data_downloader'를 실행합니다. 그렇지 않으면 당신의 필요에 따라 'ruby api_data_downloader.rb'나 'php api_data_downloader'같은 것을해야 할 수도 있습니다.

스케줄러 앱에서 blog post을 읽거나 documentation을 읽을 수 있습니다.

스케줄러 응용 프로그램은 작업자 dyno가 아닌 one-off dyno입니다. 스케줄러 추가 기능은 짧은 작업과 몇 분이 걸리는 프로세스의 작업자 dynos를위한 것입니다. 당신은 작업자 다이노 필요한 경우, 다음 procfile에 당신은 서로 다른

worker: rake api_data_downloader 

을 지정하고

heroku ps:scale worker=1 

부가 스케줄러 및 작업자 다이노으로 규모를 확대 할 필요가있다.

+0

작업자가 dyno 대신에 실행 중인지 어떻게 확인합니까? – Dofs

+0

'heroku ps'를 실행하여 dynos를 확인하고 실행중인 dynos 또는 작업자 수를 확인할 수 있습니다. 한 근로자의 경우 'worker.1 : up ...'을 볼 수 있습니다. 스케줄러 일회용 dynos의 경우, heroku 대시 보드로 가야합니다. – projectdelphai