2011-09-13 5 views
2

Heroku의 이전 스택 (Aspen 및 Bamboo)에서 지연된 작업을 사용했지만 새로운 (Iso) Cedar 스택을 사용하여보다 효율적으로 작업하고 싶습니다.Heroku의 백그라운드 작업 솔루션?

내가 수행하고있는 특정 백그라운드 작업은 다른 통신사 (UPS, FedEx, USPS 등)에 대한 API 호출이며 일반적으로 매시간 수천 개를 처리합니다.

작업을 동시에 처리하여 대기열을 신속하게 통과 할 수 있어야합니다.

이 외에도 비용 절감을 위해 노력하고 싶습니다. 지연된 작업을 사용했던 이전 스택에서 나는 작업자를 끌어들이는 일을 계속했습니다. 이로 인해 비용이 크게 증가했습니다.

그렇다면 Heroku에 대한 훌륭한 배경 작업 솔루션은 무엇입니까?

답변

2

새로운 Cedar 스택을 사용하면 Resque와 같은 다른 종류의 스케줄러와 작업자를 사용할 수 있습니다. cedar page에 Procfile 및 새 스택에 대한 자세한 내용을 볼 수 있습니다.

부하에 따라 작업자를 쉽고 자동으로 조정할 수 있습니다. Here's an example. 이렇게하면 실제로 필요할 때만 노동자에게 비용을 지불하게됩니다.

+0

그래서 Resque를 제안 하시겠습니까? 그것이 내가 묻는 것입니다 ... 내 시나리오에 가장 적합한 솔루션은 무엇입니까? – Shpigford

+0

현재 Resque와 Delayed Job을 모두 사용하고 있습니다. 둘 다 장점과 단점이 있습니다. 어느 것이 당신의 어플리케이션에 달려 있느냐에 달려 있습니다. –

+0

원래 게시글에서 언급 한 장점/단점은 무엇입니까? 그게 제가하고있는 것입니다 ... 제가하려고하는 것에 대해 최선의 해결책이 무엇인지 알아 내려고합니다. – Shpigford

1

유니콘을 사용하여 하나의 Dyno에서 여러 작업자 프로세스를 실행하면 필요한 전체 작업자 수를 줄이면서 동시성을 높일 수 있습니다. 일반적으로 dyno 당 약 3 - 4 명의 유니콘 작업자가 최상의 성능을 제공합니다.

관련 문제