Я обнаружил, что delayed_job нормально работал с 500K - 700k или около того заданиями, используя Oracle 11g. Я думаю, что мы добавили один или два индекса в дополнение к тому, что создает генератор DJ по умолчанию. Delayed_job_web - это простой способ отслеживать вещи.
ои потребности:
Enqueue_in (10.hours, ...) (Синтаксис DJ идеален.)Умножьте рабочих одновременно. (Resque или beanstalkd хороши для этого, но не DJ)Должен обрабатывать толчки и 100 рабочих мест в секунду. (Мне нужно будет выполнить тест, чтобы убедиться, но я думаю, что DJ не может справиться с таким количеством заданий)Resque и beanstalkd не делают enqueue_in.
Есть плагин (resque_scheduler), который делает это, но я не уверен, насколько он стабилен.
Наша среда находится на Amazon, и они бесплатно выкатили beanstalkd для тех, у кого есть экземпляры Amazon, это для нас плюс, но я все еще не уверен, что здесь лучший вариант.
Мы запускаем рельсы 2.3, но скоро доведем его до скорости 3.0.3.
Но какой мой лучший выбор здесь? Я скучаю по другому драгоценному камню, который делает эту работу лучше?
Я чувствую, что мой единственный вариант, который на самом деле работает сейчас, это resque_scheduler.
Редактировать:
Сидекик (https://github.com/mperham/sidekiq) еще один вариант, который вы должны проверить.