perfectqueue 0.8.8 → 0.8.9

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.
data/ChangeLog CHANGED
@@ -1,4 +1,10 @@
1
1
 
2
+ == 2012-08-03 version 0.8.9
3
+
4
+ * Use free slot ratio instead of free slot amount to decide task priorities
5
+ * Disable immediate binary replace on platforms which doesn't support SIGPWR
6
+
7
+
2
8
  == 2012-07-26 version 0.8.8
3
9
 
4
10
  * Use PWR instead of EMT signal which is not supported by ruby
@@ -44,7 +44,7 @@ module PerfectQueue
44
44
  }
45
45
 
46
46
  @sql = <<SQL
47
- SELECT id, timeout, data, created_at, resource, max_running-running AS runnable
47
+ SELECT id, timeout, data, created_at, resource, max_running/running AS weight
48
48
  FROM `#{@table}`
49
49
  LEFT JOIN (
50
50
  SELECT resource AS res, COUNT(1) AS running
@@ -53,7 +53,7 @@ LEFT JOIN (
53
53
  GROUP BY resource
54
54
  ) AS R ON resource = res
55
55
  WHERE timeout <= ? AND (max_running-running IS NULL OR max_running-running > 0)
56
- ORDER BY runnable IS NOT NULL, runnable DESC, timeout ASC
56
+ ORDER BY weight IS NOT NULL, weight DESC, timeout ASC
57
57
  LIMIT #{MAX_SELECT_ROW}
58
58
  SQL
59
59
 
@@ -124,7 +124,8 @@ SQL
124
124
  def submit(key, type, data, options)
125
125
  now = (options[:now] || Time.now).to_i
126
126
  run_at = (options[:run_at] || now).to_i
127
- user = options[:user].to_s
127
+ user = options[:user]
128
+ user = user.to_s if user
128
129
  max_running = options[:max_running]
129
130
  data = data ? data.dup : {}
130
131
  data['type'] = type
@@ -1,3 +1,3 @@
1
1
  module PerfectQueue
2
- VERSION = "0.8.8"
2
+ VERSION = "0.8.9"
3
3
  end
@@ -132,12 +132,20 @@ module PerfectQueue
132
132
  restart(true)
133
133
  end
134
134
 
135
- sig.trap :WINCH do
136
- replace(false)
135
+ begin
136
+ sig.trap :WINCH do
137
+ replace(false)
138
+ end
139
+ rescue
140
+ # FIXME some platforms might not support SIGWINCH
137
141
  end
138
142
 
139
- sig.trap :PWR do
140
- replace(true)
143
+ begin
144
+ sig.trap :PWR do
145
+ replace(true)
146
+ end
147
+ rescue
148
+ # FIXME some platforms might not support SIGPWR (such as Darwin)
141
149
  end
142
150
 
143
151
  sig.trap :USR2 do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perfectqueue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.8
4
+ version: 0.8.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-26 00:00:00.000000000 Z
12
+ date: 2012-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sequel