Skip to content

Instantly share code, notes, and snippets.

@ryopeko
Created May 4, 2014 09:05
Show Gist options
  • Save ryopeko/1f0a6cb67aa70b0f0592 to your computer and use it in GitHub Desktop.
Save ryopeko/1f0a6cb67aa70b0f0592 to your computer and use it in GitHub Desktop.
require 'capybara/dsl'
require 'capybara/poltergeist'
require 'digest/md5'
class UriWorker
include Sidekiq::Worker
sidekiq_options retry: false
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, :js_errors => false)
end
Capybara.run_server = false
Capybara.current_driver = :poltergeist
include Capybara::DSL
def perform(uri)
logger.info "Dequeue: #{uri}"
file_name = Digest::MD5.hexdigest(uri) + '.png'
begin
visit uri
page.driver.save_screenshot file_name
rescue Capybara::Poltergeist::TimeoutError => e
logger.warn e.message
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment