2010-07-10 7 views
0

레일즈를 통해 웹 사이트를 구축하고 있습니다. 백그라운드에서 작업을 수행 할 것입니다. DelayedJob을 사용하고 싶지 않습니다. 데이터베이스가 필요하기 때문입니다.DelayedJob과 같은 것이 있지만 데이터베이스를 사용하지 않습니다.

내가 할 수있는 일은 간단합니다. 다른 사이트의 일부 데이터를 가져 와서 메모리에 응답을 저장하고 10 분 동안 유지하십시오.

어떤 도구가이 작업을 수행 할 수 있습니까?

+0

FWIW, DelayedJob에는 플러그 가능 백엔드가 있습니다. 플랫 파일 백엔드 작성의 어려움을 겪을 수 있습니다. ActiveRecord를 지원하는 코드는 실제로 80ish 라인입니다. http://github.com/collectiveidea/delayed_job/blob/master/lib/delayed/backend/active_record.rb –

답변

1

resque http://github.com/defunkt/resque을 사용하십시오. 데이터베이스가 아닌 redis 백업 데이터 저장소를 사용합니다.

+0

감사합니다. . 지금 resque를 사용하고 있습니다. 좋은 것입니다. – Freewind

0

백그라운드에서 레이크 작업을 사용하여이를 수행 할 수 있습니다. cron 작업 또는 데몬으로 실행하여 백그라운드에서 작업을 수행합니다.

+0

memcached 또는 일부 플랫 파일에 결과를 저장할 수 있습니다. 원하는대로 할 수 있습니다. Memcached는 만료 시간이 있기 때문에 더 나을 것입니다. –

+0

만약 당신이 응용 프로그램에서 갈퀴 작업을 실행하려면이 도움이 될 수도 있습니다 http://railscasts.com/episodes/127-rake-in-background –

+0

Memcached 시도했지만, 적어도 48M 필요 발견, 이것은 너무 비싸다 내 가난한 VPS (240M 메모리), 나는 Resque를 사용하기로 결정했습니다. 문의 해 주셔서 감사합니다 ~ – Freewind

1

whenever도 해보고 싶을 수도 있습니다. 기본적으로 cron에 예약 된 작업을 기록하는 루비 스크립트입니다.

+0

감사합니다. 아주 좋은 것처럼 보일 때마다, 나는 다른 곳에서 그것을 시도 할 것이다. – Freewind

관련 문제