post_spider_worker.rb 837 B

12345678910111213141516171819202122232425262728293031
  1. require 'json'
  2. class PostSpiderWorker
  3. include Sidekiq::Worker
  4. include Sidekiq::Benchmark::Worker
  5. sidekiq_options :queue => 'default', :retry => false, :backtrace => true, expires_in: 1.hour
  6. def perform(record_id, record_klass)
  7. benchmark.meta_scraper_metric do
  8. case record_klass
  9. when "EmailLead"
  10. record = EmailLead.find(record_id)
  11. when "PhoneLead"
  12. record = PhoneLead.find(record_id)
  13. when "SocialLead"
  14. record = SocialLead.find(record_id)
  15. end
  16. if record and record.source_url
  17. meta = MetaInspector.new record.source_url
  18. if meta
  19. record.keywords = meta.meta_tag['name']['keywords']
  20. record.description = meta.description
  21. record.image_url = meta.images.best
  22. record.save
  23. end
  24. end
  25. end
  26. benchmark.finish
  27. end
  28. end