фоновое задание и обратный вызов after_save - PullRequest
0 голосов
/ 20 июля 2010

У меня есть модель под названием Голосование, которая очень часто меняется (люди голосуют за что-то). Я делаю другую аналитику после сохранения голосования, например, интерполяцию, если избиратель - мужчина / женщина, какого возраста и т.д.

Интересно, каков наилучший способ сделать это после обработки сохранения, должно ли это быть фоновым заданием (я использую плагин delayed_job) или лучше оставить его в качестве обратного вызова after_save? Что лучше и с точки зрения производительности?

Мне не нужно показывать пользователю вторые последние данные (даже обратный вызов after_save этого не делает).

Спасибо

1 Ответ

1 голос
/ 20 июля 2010

Мое эмпирическое правило заключается в том, что если для его завершения требуется больше (в среднем) секунды - я перенесу его на фоновую работу, в противном случае я буду работать синхронно.Я использую отложенную работу , она работает хорошо, и у меня не было причин ее оставлять.У меня был один случай, когда мне не нужно было обращаться к базе данных в фоновом режиме, и я использовал пользовательскую задачу rake, она была очень эффективной и избавила меня от необходимости реализовывать процессор фоновых заданий.

...