Class: Scrapinghub::Jobs

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/scrapinghub/jobs.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_key) ⇒ Jobs

Returns a new instance of Jobs.



10
11
12
# File 'lib/scrapinghub/jobs.rb', line 10

def initialize(api_key)
  self.class.basic_auth(api_key, nil)
end

Instance Method Details

#delete(project, job) ⇒ Object



29
30
31
32
# File 'lib/scrapinghub/jobs.rb', line 29

def delete(project, job)
  opts = { body: { project: project, job: job } }
  perform(:post, '/jobs/delete.json', opts)['count']
end

#list(project, opts = {}) ⇒ Object



19
20
21
22
# File 'lib/scrapinghub/jobs.rb', line 19

def list(project, opts = {})
  opts = { query: opts.merge(project: project) }
  perform(:get, '/jobs/list.json', opts)['jobs']
end

#schedule(project, spider, opts = {}) ⇒ Object



14
15
16
17
# File 'lib/scrapinghub/jobs.rb', line 14

def schedule(project, spider, opts = {})
  opts = { body: opts.merge(project: project, spider: spider) }
  perform(:post, '/schedule.json', opts)['jobid']
end

#stop(project, job) ⇒ Object



34
35
36
37
# File 'lib/scrapinghub/jobs.rb', line 34

def stop(project, job)
  opts = { body: { project: project, job: job } }
  perform(:post, '/jobs/stop.json', opts)['count']
end

#update(project, job, opts = {}) ⇒ Object



24
25
26
27
# File 'lib/scrapinghub/jobs.rb', line 24

def update(project, job, opts = {})
  opts = { body: opts.merge(project: project, job: job) }
  perform(:post, '/jobs/update.json', opts)['count']
end