У меня есть приложение на Rails 5, в котором я хочу запустить пакетное задание, и только для объема этого задания я хочу отключить обратные вызовы. Это задание может занять до 30 минут, и, пока оно выполняется, если на сервер поступают другие запросы, я хочу, чтобы выполнялись обратные вызовы. Есть ли способ охватить новый экземпляр модели для этой цели? Пример:
class Model
before_save :do_something
...
end
def batch
Thread.new do
# was hoping that instantiating a new thread would make only THIS
# instance of the Model class disable its callbacks, but I was
# wrong
Model.skip_callback(:save, :before, :do_something)
# now do your batch work
end
end
Есть ли в Rails способ межсетевого экрана для пространства имен или чего-то такого, чтобы я мог отключить обратные вызовы внутри небольшого пузыря, но когда другие вещи вызывают этот класс модели, они работают?
Спасибо, Кевин