queue_classic 2.0.0rc11 → 2.0.0rc12

Sign up to get free protection for your applications and to get access to all the features.
data/lib/queue_classic.rb CHANGED
@@ -1,9 +1,9 @@
1
+ require "scrolls"
1
2
  require "pg"
2
3
  require "uri"
3
4
 
4
5
  $: << File.expand_path(__FILE__, "lib")
5
6
 
6
- require "queue_classic/scrolls"
7
7
  require "queue_classic/okjson"
8
8
  require "queue_classic/conn"
9
9
  require "queue_classic/queries"
@@ -11,7 +11,7 @@ require "queue_classic/queue"
11
11
  require "queue_classic/worker"
12
12
 
13
13
  module QC
14
- # ENV["QC_LOG_LEVEL"] is used in Scrolls
14
+ # ENV["LOG_LEVEL"] is used in Scrolls
15
15
  Scrolls::Log.start
16
16
 
17
17
  Root = File.expand_path("..", File.dirname(__FILE__))
data/readme.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # queue_classic
2
2
 
3
- v2.0.0rc9
3
+ v2.0.0rc12
4
4
 
5
5
  queue_classic is a PostgreSQL-backed queueing library that is focused on
6
6
  concurrent job locking, minimizing database load & providing a simple &
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queue_classic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0rc11
4
+ version: 2.0.0rc12
5
5
  prerelease: 5
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pg
16
- requirement: &14553400 !ruby/object:Gem::Requirement
16
+ requirement: &11432220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,18 @@ dependencies:
21
21
  version: 0.13.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *14553400
24
+ version_requirements: *11432220
25
+ - !ruby/object:Gem::Dependency
26
+ name: scrolls
27
+ requirement: &11431140 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.0.8
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *11431140
25
36
  description: queue_classic is a queueing library for Ruby apps. (Rails, Sinatra, Etc...)
26
37
  queue_classic features asynchronous job polling, database maintained locks and no
27
38
  ridiculous dependencies. As a matter of fact, queue_classic only requires pg.
@@ -36,7 +47,6 @@ files:
36
47
  - lib/queue_classic/conn.rb
37
48
  - lib/queue_classic/okjson.rb
38
49
  - lib/queue_classic/worker.rb
39
- - lib/queue_classic/scrolls.rb
40
50
  - lib/queue_classic/queue.rb
41
51
  - lib/queue_classic/tasks.rb
42
52
  - lib/queue_classic/queries.rb
@@ -1,127 +0,0 @@
1
- require "thread"
2
-
3
- module Scrolls
4
- extend self
5
-
6
- def log(data, &blk)
7
- Log.log(data, &blk)
8
- end
9
-
10
- def log_exception(data, e)
11
- Log.log_exception(data, e)
12
- end
13
-
14
- module Log
15
- extend self
16
-
17
- LOG_LEVEL = (ENV["QC_LOG_LEVEL"] || 3).to_i
18
- LOG_LEVEL_MAP = {
19
- "fatal" => 0,
20
- "error" => 1,
21
- "warn" => 2,
22
- "info" => 3,
23
- "debug" => 4
24
- }
25
-
26
- attr_accessor :stream
27
-
28
- def start(out = nil)
29
- # This allows log_exceptions below to pick up the defined output,
30
- # otherwise stream out to STDERR
31
- @defined = out.nil? ? false : true
32
- sync_stream(out)
33
- end
34
-
35
- def sync_stream(out = nil)
36
- out = STDOUT if out.nil?
37
- @stream = out
38
- @stream.sync = true
39
- end
40
-
41
- def mtx
42
- @mtx ||= Mutex.new
43
- end
44
-
45
- def write(data)
46
- if log_level_ok?(data[:level])
47
- msg = unparse(data)
48
- mtx.synchronize do
49
- @stream.puts(msg)
50
- end
51
- end
52
- end
53
-
54
- def unparse(data)
55
- data.map do |(k, v)|
56
- if (v == true)
57
- k.to_s
58
- elsif v.is_a?(Float)
59
- "#{k}=#{format("%.3f", v)}"
60
- elsif v.nil?
61
- nil
62
- else
63
- v_str = v.to_s
64
- if (v_str =~ /^[a-zA-z0-9\-\_\.]+$/)
65
- "#{k}=#{v_str}"
66
- else
67
- "#{k}=\"#{v_str.sub(/".*/, "...")}\""
68
- end
69
- end
70
- end.compact.join(" ")
71
- end
72
-
73
- def log(data, &blk)
74
- unless blk
75
- write(data)
76
- else
77
- start = Time.now
78
- res = nil
79
- log(data.merge(:at => :start))
80
- begin
81
- res = yield
82
- rescue StandardError, Timeout::Error => e
83
- log(data.merge(
84
- :at => :exception,
85
- :reraise => true,
86
- :class => e.class,
87
- :message => e.message,
88
- :exception_id => e.object_id.abs,
89
- :elapsed => Time.now - start
90
- ))
91
- raise(e)
92
- end
93
- log(data.merge(:at => :finish, :elapsed => Time.now - start))
94
- res
95
- end
96
- end
97
-
98
- def log_exception(data, e)
99
- sync_stream(STDERR) unless @defined
100
- log(data.merge(
101
- :exception => true,
102
- :class => e.class,
103
- :message => e.message,
104
- :exception_id => e.object_id.abs
105
- ))
106
- if e.backtrace
107
- bt = e.backtrace.reverse
108
- bt[0, bt.size-6].each do |line|
109
- log(data.merge(
110
- :exception => true,
111
- :exception_id => e.object_id.abs,
112
- :site => line.gsub(/[`'"]/, "")
113
- ))
114
- end
115
- end
116
- end
117
-
118
- def log_level_ok?(level)
119
- if level
120
- LOG_LEVEL_MAP[level.to_s] <= LOG_LEVEL
121
- else
122
- true
123
- end
124
- end
125
-
126
- end
127
- end