td-querier 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0d1176b251baab0c0f3a784b4d5f6a001c39ad79
4
+ data.tar.gz: 7550cc7690dbdc93063c45b82740c74ee790b436
5
+ SHA512:
6
+ metadata.gz: d1f94f428a1762f91e173b631c04ce785553c3ff4e392efa74214116dd69f3f754cfbf627ba1f3838781a7c0f8009e399507fcb63a68e5e1c7e3e8c37eddccae
7
+ data.tar.gz: 32aa11b08e50eb547c3879c07378535154a80733afd55cd9944359b6c5c86a5c9a062887298360aa5faf2cf7ff9e7491d86222f350b1669e59817cffea6793f5
data/AUTHORS ADDED
@@ -0,0 +1,3 @@
1
+ Carlos Donderis
2
+ Oskar Díaz
3
+
data/ChangeLog ADDED
File without changes
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # Treasure Data and Sidekiq awesomeness
2
+
3
+ ##Installation
4
+
5
+ $ gem install td-querier
6
+
7
+ ##Configuration
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+
2
+ require 'bundler'
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ require 'rake/testtask'
6
+
7
+ Rake::TestTask.new(:test) do |test|
8
+ test.libs << 'lib' << 'test'
9
+ test.test_files = FileList['test/*.rb']
10
+ test.verbose = true
11
+ end
12
+
13
+ task :default => [:build]
14
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
data/lib/td/querier.rb ADDED
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'td'
3
+ require 'td-client'
4
+ require 'sidekiq'
5
+
6
+ class Querier
7
+ include Sidekiq::Worker
8
+
9
+ def initialize(api_key="")
10
+ @key = api_key
11
+ end
12
+
13
+ def query(database, query, redirect_to, opts, priority=1, reschedule_time=5.minutes)
14
+ client = TreasureData::Client.new(@key)
15
+ job = client.query(database, query, redirect_to, priority)
16
+ Querier.perform_async(@key, job.job_id, opts, reschedule_time)
17
+ end
18
+
19
+ def perform(api_key, job_id, opts, reschedule_time=5.minutes)
20
+ client = TreasureData::Client.new(api_key)
21
+ job = client.job(job_id)
22
+ #reschedule if the job is not finished
23
+ return Querier.perform_in(reschedule_time, api_key, job_id, opts, reschedule_time) unless job.finished?
24
+
25
+ if opts
26
+ klass = opts['klass']
27
+ meth = opts['meth']
28
+ res = opts['results']
29
+ results = (res == "true" ? job.results : nil)
30
+ class_eval(klass).send(meth.to_s, results)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,22 @@
1
+ # encoding: utf-8
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "td-querier"
6
+ gem.description = "A client to perform and retry queries against treasure data using sidekiq as background engine"
7
+ gem.homepage = "https://github.com/CaDs/td-querier"
8
+ gem.summary = gem.description
9
+ gem.version = File.read("VERSION").strip
10
+ gem.authors = ["Carlos Donderis"]
11
+ gem.email = "cdonderis@gmail.com"
12
+ gem.has_rdoc = false
13
+ #gem.platform = Gem::Platform::RUBY
14
+ gem.files = `git ls-files`.split("\n")
15
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ gem.require_paths = ['lib']
18
+
19
+ gem.add_dependency "sidekiq", "~> 2.12.0"
20
+ gem.add_dependency "td", "~> 0.10.77"
21
+ gem.add_development_dependency "rake", ">= 0.9.2"
22
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: td-querier
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Carlos Donderis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-05-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sidekiq
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 2.12.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.12.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: td
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.77
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.77
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.9.2
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.9.2
55
+ description: A client to perform and retry queries against treasure data using sidekiq
56
+ as background engine
57
+ email: cdonderis@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - AUTHORS
63
+ - ChangeLog
64
+ - Gemfile
65
+ - README.md
66
+ - Rakefile
67
+ - VERSION
68
+ - lib/td/querier.rb
69
+ - td-querier.gemspec
70
+ homepage: https://github.com/CaDs/td-querier
71
+ licenses: []
72
+ metadata: {}
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubyforge_project:
89
+ rubygems_version: 2.0.0
90
+ signing_key:
91
+ specification_version: 4
92
+ summary: A client to perform and retry queries against treasure data using sidekiq
93
+ as background engine
94
+ test_files: []