Skip to content

Instantly share code, notes, and snippets.

Created September 15, 2010 16:55

Revisions

  1. @invalid-email-address Anonymous created this gist Sep 15, 2010.
    20 changes: 20 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    class SpiderController < ApplicationController
    def index
    @sites = Site.all()
    @sites.each{|site|
    uri = URI.parse(site.url)
    http = Net::HTTP.new(uri.host, uri.port)
    request = Net::HTTP::Get.new(uri.request_uri)
    request["User-Agent"] = "Status Monitor"
    response = http.request(request)

    last = Status.first(:order => "created_at DESC", :conditions => ["site_id = ?", site.id]);
    if !last || 1.hour.ago > last.created_at
    status = Status.new
    status.site = site
    status.status = response.code
    status.save()
    end
    }
    end
    end