У меня есть куча объектов Delayed :: Job в моей БД, которые ждут выполнения. Как я могу их проверить и определить, какую работу (класс и метод) они содержат?Как определить класс и метод объекта Delayed :: Job?
0
A
ответ
0
Завершенные задания хранятся в таблице delayed_jobs
, и существует модель Delayed::Job
, на которой вы можете выполнять запросы.
В столбце handler
содержится YAML-закодированная строка объекта, которая будет выполнять работу.
jobs = Delayed::Job.all
jobs.last.handler # will return you the handler object
0
Я добавил следующий код в приложение/модели/delayed_job.rb:
class DelayedJob < ActiveRecord::Base
def self.find_all_by_class_and_method_and_keys(class_name, method_name, keys={})
search_string="handler like '%object: !ruby/%#{class_name}%method_name: :#{method_name}%' "
keys.each do |k,v|
search_string+="and handler like '%#{k}: #{v}\n%'"
end
djs=DelayedJob.find_by_sql("select * from delayed_jobs where #{search_string}")
end
def self.destroy_all_by_class_and_method_and_keys(class_name, method_name, keys={})
djs=find_all_by_class_and_method_and_keys(class_name, method_name, keys)
djs.each do |d|
d.destroy
end
end
end
После этого, вы можете просто позвонить DelayedJob.find_all_by_class_and_method_and_keys("MyClassName","my_method_name")
, чтобы получить только работу с классом MyClassName и my_method_name в качестве активных объектов записи.
Смежные вопросы
- 1. Dockerizing Delayed Job
- 2. Rubymine - Delayed Job
- 3. Время профайла Delayed Job
- 4. Rails - Delayed Job - как повторно запустить метод на неопределенный срок.
- 5. Rails Delayed Job Continuously Running
- 6. Как запустить Delayed Job с Ubuntu?
- 7. Как определить класс объекта
- 8. UserMailer не работает в Delayed :: Job
- 9. Rails Custom Delayed Job - неинициализированная константа
- 10. rake ts: dd - неинициализированная константа Delayed :: Job
- 11. Heroku Delayed Job и Sidekiq в одном приложении
- 12. Определить класс объекта, Scala
- 13. Feedzirra :: Feed.fetch_and_parse (url) возвращает null при вызове Delayed :: Job
- 14. Как заменить имя метода из Delayed :: Job Handler?
- 15. Класс, экземпляр/метод объекта
- 16. Как получить доступ к экземпляру Delayed Job внутри Active Job - Rails 4.2
- 17. Как измерить метод выполнения Resque или класс Resque Job?
- 18. Обновление до Rails 4.2 breaks Delayed :: Job: Job failed to load: undefined method 'fetch_value'
- 19. Создание PDF в Delayed Job при использовании шаблона RESTful
- 20. Devise Async не записывает attr_accessor в Delayed Job?
- 21. Как определить, какой класс вызывает конкретный метод?
- 22. Как определить класс объекта в Scala?
- 23. Как определить класс объекта в Java?
- 24. Использование Delayed Job по получению геокодер с gmaps4rails
- 25. Срок службы объекта (класс и метод)
- 26. Rails + Delayed Job: Где место для хранения собственных классов заданий?
- 27. rails - Delayed Job - лучший способ отладить неудавшееся задание
- 28. Использование Delayed :: Job для управления несколькими очередями заданий
- 29. Определить метод объекта в javascript
- 30. .jcall error не может определить класс объекта