resque 1.23.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/HISTORY.md +271 -0
- data/README.markdown +454 -484
- data/Rakefile +4 -17
- data/bin/resque-web +10 -22
- data/lib/resque/data_store.rb +335 -0
- data/lib/resque/errors.rb +15 -1
- data/lib/resque/failure/airbrake.rb +32 -4
- data/lib/resque/failure/base.rb +16 -7
- data/lib/resque/failure/multiple.rb +26 -8
- data/lib/resque/failure/redis.rb +92 -15
- data/lib/resque/failure/redis_multi_queue.rb +104 -0
- data/lib/resque/failure.rb +62 -32
- data/lib/resque/helpers.rb +11 -57
- data/lib/resque/job.rb +79 -12
- data/lib/resque/log_formatters/quiet_formatter.rb +7 -0
- data/lib/resque/log_formatters/verbose_formatter.rb +7 -0
- data/lib/resque/log_formatters/very_verbose_formatter.rb +8 -0
- data/lib/resque/logging.rb +18 -0
- data/lib/resque/plugin.rb +22 -10
- data/lib/resque/railtie.rb +10 -0
- data/lib/resque/server/public/jquery-3.6.0.min.js +2 -0
- data/lib/resque/server/public/jquery.relatize_date.js +4 -4
- data/lib/resque/server/public/main.js +3 -0
- data/lib/resque/server/public/ranger.js +16 -8
- data/lib/resque/server/public/style.css +13 -8
- data/lib/resque/server/views/error.erb +1 -1
- data/lib/resque/server/views/failed.erb +27 -59
- data/lib/resque/server/views/failed_job.erb +50 -0
- data/lib/resque/server/views/failed_queues_overview.erb +24 -0
- data/lib/resque/server/views/job_class.erb +8 -0
- data/lib/resque/server/views/key_sets.erb +2 -4
- data/lib/resque/server/views/key_string.erb +1 -1
- data/lib/resque/server/views/layout.erb +7 -6
- data/lib/resque/server/views/next_more.erb +22 -10
- data/lib/resque/server/views/processing.erb +2 -0
- data/lib/resque/server/views/queues.erb +22 -13
- data/lib/resque/server/views/stats.erb +5 -5
- data/lib/resque/server/views/workers.erb +4 -4
- data/lib/resque/server/views/working.erb +10 -11
- data/lib/resque/server.rb +51 -108
- data/lib/resque/server_helper.rb +185 -0
- data/lib/resque/stat.rb +19 -7
- data/lib/resque/tasks.rb +26 -25
- data/lib/resque/thread_signal.rb +24 -0
- data/lib/resque/vendor/utf8_util.rb +2 -8
- data/lib/resque/version.rb +1 -1
- data/lib/resque/web_runner.rb +374 -0
- data/lib/resque/worker.rb +487 -163
- data/lib/resque.rb +332 -52
- data/lib/tasks/redis.rake +11 -11
- metadata +169 -149
- data/lib/resque/failure/hoptoad.rb +0 -33
- data/lib/resque/failure/thoughtbot.rb +0 -33
- data/lib/resque/server/public/jquery-1.3.2.min.js +0 -19
- data/lib/resque/server/test_helper.rb +0 -19
- data/lib/resque/vendor/utf8_util/utf8_util_18.rb +0 -91
- data/lib/resque/vendor/utf8_util/utf8_util_19.rb +0 -5
- data/test/airbrake_test.rb +0 -27
- data/test/hoptoad_test.rb +0 -26
- data/test/job_hooks_test.rb +0 -464
- data/test/job_plugins_test.rb +0 -230
- data/test/plugin_test.rb +0 -116
- data/test/redis-test-cluster.conf +0 -115
- data/test/redis-test.conf +0 -115
- data/test/resque-web_test.rb +0 -59
- data/test/resque_failure_redis_test.rb +0 -19
- data/test/resque_test.rb +0 -278
- data/test/test_helper.rb +0 -178
- data/test/worker_test.rb +0 -657
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f8cf648f1eb756bfe114e702e712d3b9a6748288d25194bf982c29b94b7ea7b5
|
4
|
+
data.tar.gz: e878e1cbe5a8bcf2a915a35c0038b24056f52bd845782934536968da71d90719
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 28094061441be3776fd2541ea43e678ad8270b1c620aa1bf11a2368f8c913e0c0069b481ecc1d17d336f432f7032b61b20d2a80e646231a7f86dacbd68e789b8
|
7
|
+
data.tar.gz: 3f3b8f2edc6f8b006ab650e2431db26e4fac0230adddc9f9fb748601bf9d6f16581208d20283b4a44e5303ae8a54993e8a324821492996d61a05b2e6f72adb7d
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,274 @@
|
|
1
|
+
## 2.6.0
|
2
|
+
|
3
|
+
### Fixed
|
4
|
+
|
5
|
+
* resque-web: Fix reflected XSS in queues endpoint (#1865)
|
6
|
+
* resque-web: Format args in YAML (#1875)
|
7
|
+
* Fix MiniTest undefined errors (#1879)
|
8
|
+
* Fix failing reconnect tests (#1880)
|
9
|
+
|
10
|
+
### Added
|
11
|
+
|
12
|
+
* Documents how to make the worker shutdown when the queue is empty (#1873)
|
13
|
+
|
14
|
+
## 2.5.0
|
15
|
+
|
16
|
+
### Fixed
|
17
|
+
|
18
|
+
* Replace `File.exists?` with `File.exist?` (#1846)
|
19
|
+
* Escape `Resque.redis_id` for stats page (#1834)
|
20
|
+
* Escape resque info values (#1832)
|
21
|
+
* Correctly show the values of hash and none type on stats tab (#1838)
|
22
|
+
* Fix logging the worker name when starting the task (#1837)
|
23
|
+
|
24
|
+
### Added
|
25
|
+
|
26
|
+
* Raise an error when no available Rack server was found (#1836)
|
27
|
+
* Move code in `Resque::Server.helpers` block into a module to make it testable (#1851)
|
28
|
+
|
29
|
+
## 2.4.0
|
30
|
+
|
31
|
+
### Fixed
|
32
|
+
|
33
|
+
* Remove `thread_safe` arg in Redis instantiaons (#1822)
|
34
|
+
* Updated Test Matrix for Redis 5.0 (#1824)
|
35
|
+
* Fix redis-rb 4.8 deprecation warnings (#1827)
|
36
|
+
* Fix redis-rb 5.0 compatibility issues (#1828)
|
37
|
+
|
38
|
+
## 2.3.0
|
39
|
+
|
40
|
+
### Fixed
|
41
|
+
|
42
|
+
* Fix NoMethodError: undefined method 'application' for Rails:Module when Rails module is defined but not a full Rails app (#1799)
|
43
|
+
* Fix deprecation warnings in Redis#pipelined for redis 4.6 (#1806)
|
44
|
+
* Add Ruby syntax highlighting to remaining markdown docs (#1802)
|
45
|
+
* Fix pagination section (#1809)
|
46
|
+
* Fix `before_run` undefined local variable or method `runner` (#1811)
|
47
|
+
|
48
|
+
### Added
|
49
|
+
|
50
|
+
* Added support for pausing all workers by setting the Redis key `pause-all-workers` to string value "true" (#1803)
|
51
|
+
|
52
|
+
## 2.2.1
|
53
|
+
|
54
|
+
### Fixed
|
55
|
+
|
56
|
+
* Escape HTML from the params to avoid XSS (#1790)
|
57
|
+
* Remove vegas as a dependency (#1780)
|
58
|
+
|
59
|
+
### Added
|
60
|
+
|
61
|
+
* Add support for specifying queues that workers should ignore when using globs
|
62
|
+
* Allow plugins to have spaces in their name (#1718)
|
63
|
+
|
64
|
+
## 2.2.0
|
65
|
+
|
66
|
+
### Added
|
67
|
+
|
68
|
+
* Add 'Retry Failed Jobs' button to Failed page
|
69
|
+
|
70
|
+
### Fixed
|
71
|
+
|
72
|
+
* Loading railtie when it did not exist #1765
|
73
|
+
* Fix closing parent Redis connection in child process after fork
|
74
|
+
* Fix the failed queues list on /queues UI when the RedisMultiQueue backend is used #1638
|
75
|
+
|
76
|
+
## 2.1.0
|
77
|
+
|
78
|
+
### Security
|
79
|
+
|
80
|
+
* Fix XSS via URL path in admin web UI queues view #1687
|
81
|
+
* Replace onclick handlers in server code to support Content Security Policies that don't allow 'unsafe-inline'
|
82
|
+
* Update jQuery from 1.12.4 to 3.6.0
|
83
|
+
|
84
|
+
### Added
|
85
|
+
|
86
|
+
* Add requeue_queue method to Resque::Failure::Multiple #1659
|
87
|
+
* Confirmation prompt in admin front-end before submitting the retry of all failed jobs. #1753
|
88
|
+
* Railtie for default rake task setup when in Rails. #1715
|
89
|
+
* Added two new hooks.
|
90
|
+
- `queue_empty` when the job queue empties and the worker becomes idle
|
91
|
+
- `worker_exit` when the worker exits
|
92
|
+
|
93
|
+
See [docs/HOOKS.md](http://github.com/resque/resque/blob/master/docs/HOOKS.md) for
|
94
|
+
further details. (@jeremywadsack)
|
95
|
+
|
96
|
+
### Fixed
|
97
|
+
|
98
|
+
* live poller shouldn't restart itself until it successds or fails. #1740
|
99
|
+
* Fix parsing worker_id when queue name includes colon. #1691
|
100
|
+
* Prune workers which haven't been registered but have set a heartbeat. #1751
|
101
|
+
* `Resque::Failure::Multiple.remove` did not pass on the queue parameter
|
102
|
+
|
103
|
+
## 2.0.0 (2018-11-06)
|
104
|
+
|
105
|
+
### Fixed
|
106
|
+
* Fix Airbrake failure backend
|
107
|
+
* Fix failed jobs page "argument out of range" error
|
108
|
+
|
109
|
+
### Changed
|
110
|
+
* Remove support for Rubies < 2.3
|
111
|
+
* Remove support to Rails < 4
|
112
|
+
* Reduce the number of redis calls when trying to get the list of queues
|
113
|
+
* Only run `eager_load!` if `Rails.application.config.eager_load` is true
|
114
|
+
* Don't display log message if running without hooks
|
115
|
+
* Add Support to Redis 4.0
|
116
|
+
* Drop complex Redis identifier logic in favor of simple inspect
|
117
|
+
* When a child process is killed, report the signal it was terminated with
|
118
|
+
* Report a job that pruned worker was processing
|
119
|
+
|
120
|
+
### Added
|
121
|
+
|
122
|
+
* Allow to configure statistic data store
|
123
|
+
|
124
|
+
## 1.27.4 (2017-04-15)
|
125
|
+
|
126
|
+
### Fixed
|
127
|
+
* Fix issue where removing a failure from Resque web didn't work when using `RedisMultiQueue` backend.
|
128
|
+
|
129
|
+
## 1.27.3 (2017-04-10)
|
130
|
+
|
131
|
+
### Fixed
|
132
|
+
* Fix issue where initializing a data store would attempt to hit Redis, even when Resque.inline = true
|
133
|
+
|
134
|
+
## 1.27.2 (2017-02-20)
|
135
|
+
|
136
|
+
### Fixed
|
137
|
+
* Require "redis/distributed" in worker.rb to allow proper rescuing
|
138
|
+
* Fallback to server time if Redis time won't work (restores Redis 2.4 support)
|
139
|
+
|
140
|
+
## 1.27.1 (2017-02-13)
|
141
|
+
|
142
|
+
### Fixed
|
143
|
+
* Show actual jobs names in web view using ActiveJob (@martnst)
|
144
|
+
|
145
|
+
## 1.27.0 (2017-02-08)
|
146
|
+
|
147
|
+
### Fixed
|
148
|
+
* Fix issue where calling Worker.find, Worker.all, or Worker.working from withing
|
149
|
+
a running job would rewrite the PID file with the PID of the forked worker.
|
150
|
+
This causes a change to the Worker#new API that may affect plugin
|
151
|
+
implementations. See Worker#new and Worker#prepare for details. (@jeremywadsack)
|
152
|
+
* Workers queried out now have the correct hostname (@crazymykl)
|
153
|
+
* Fix race condition on worker startup (@stevedomin)
|
154
|
+
* No longer triggers verbose logging if env variables are not set (@ldnunes)
|
155
|
+
* resque/failed/requeue/all when using Redis::Failure::Multiple no longer raises an exception (@ale7714)
|
156
|
+
* Improve forking to avoid having a child process escape its code (@dylanahsmith)
|
157
|
+
* Workers now use server time rather than their own time to maintain heartbeats (@fw42)
|
158
|
+
* Run eager load hooks for Rails applications versioned 4.x and up (@abhi-patel)
|
159
|
+
* Fix bug when encountering an error while pruning workers (Joakim Kolsjö and Tomas Skogberg)
|
160
|
+
* Children write to PIDFILE immediately after forking, fixing issues when reconnecting to Redis is slow (@fimmtiu)
|
161
|
+
|
162
|
+
### Changed
|
163
|
+
* Update jQuery from 1.3.2 to 1.12.4 (@chrisccerami)
|
164
|
+
* No longer user Thread.kill to stop heartbeat (@Sinjo)
|
165
|
+
|
166
|
+
### Added
|
167
|
+
* Resque Web UI now prompts for confirmation on clearing failed jobs (Markus Olsen)
|
168
|
+
* Adds process status to DirtyExit exception when job is killed via signal (@MishaConway)
|
169
|
+
|
170
|
+
## 1.26.0 (2016-03-10)
|
171
|
+
|
172
|
+
This changelog is a bit incomplete. We will be much stricter about the changelog for
|
173
|
+
the next release.
|
174
|
+
|
175
|
+
* rake: when BACKGROUND, ensure worker.reconnect after daemonizing (@yaauie)
|
176
|
+
* worker: when searching workers, Worker#pid properly reflects pid of the found
|
177
|
+
worker instead of the current pid. (@yaauie)
|
178
|
+
* Add support for RESQUE_PROCLINE_PREFIX environment variable to prefix
|
179
|
+
procline strings with a static identifier. (@rbroemeling)
|
180
|
+
* Resque::Worker logs errors at the correct logging level (@chrisccerami)
|
181
|
+
|
182
|
+
## 1.25.2 (2014-3-3)
|
183
|
+
|
184
|
+
* Respect TERM_CHILD setting when not forking (@ggilder)
|
185
|
+
* implementation of backend connection with a hash (Andrea Rossi)
|
186
|
+
* require yaml for show_args support (@yaauie)
|
187
|
+
* use redis-namespace 1.3 (Andrea Rossi)
|
188
|
+
* fix DOCS link in README (@cade)
|
189
|
+
* Fix worker prune test to actually run its assertion & cover reality. (@yaauie)
|
190
|
+
* Eliminate infinite recursion when Resque::Helpers mixed into Resque (@yaml)
|
191
|
+
* use ruby, avoid shelling out. google++ (@hone)
|
192
|
+
* Failed Assertions Don't Fail Tests :rage: (@yaauie)
|
193
|
+
|
194
|
+
## 1.25.1 (2013-9-26)
|
195
|
+
|
196
|
+
* Actually require Forwardable from the standard library.
|
197
|
+
|
198
|
+
## 1.25.0 (2013-4-16)
|
199
|
+
* Updates fork method so [resque-multi-job-forks](https://github.com/stulentsev/resque-multi-job-forks)
|
200
|
+
monkey patching works again. See discussion at https://github.com/defunkt/resque/pull/895 for more
|
201
|
+
context (@jonhyman)
|
202
|
+
* Use Redis.pipelined to group batches of redis commands.
|
203
|
+
https://github.com/resque/resque/pull/902 (@jonhyman)
|
204
|
+
* Fixed uninitialize constant for the module/class that contains the perform
|
205
|
+
method causing job failures to no be reported, #792 (@sideshowcoder)
|
206
|
+
* Fix Resque::Failure::Base.all to have the correct signature.
|
207
|
+
(@rentalutions)
|
208
|
+
* Don't close stdio pipes when daemonizing so as to not hide errors. #967
|
209
|
+
(@sideshowcoder)
|
210
|
+
* Fix for worker_pids on Windows. #980 (@kzgs)
|
211
|
+
* Only prune workers for queues the current worker knows about. #1000
|
212
|
+
(!) (@dsabanin)
|
213
|
+
* Handle duplicate TERM signals. #988 (@softwaregravy)
|
214
|
+
* Fix issue with exiting workers and unintentionally deregistering the
|
215
|
+
parent when the forked child exits. #1017 (@magec)
|
216
|
+
* Fix encoding errors with local date formatting. #1065 (@katafrakt)
|
217
|
+
* Fix CI for 1.8.7 and 1.9.2 modes due to dependencies. #1090
|
218
|
+
(@adelcambre)
|
219
|
+
* Allow using globs for queue names to listen on, allowing things like
|
220
|
+
listening on `staging_*`. #1085 (@adelcambre)
|
221
|
+
|
222
|
+
|
223
|
+
## 1.24.1 (2013-3-23)
|
224
|
+
|
225
|
+
* Adds a default value for `per_page` on resque-server for plugins which add tabs (@jonhyman)
|
226
|
+
* Fix bad logic on the failed queue adapter
|
227
|
+
* Added missing `require 'time'` which was causing occasional errors which
|
228
|
+
would crash workers.
|
229
|
+
|
230
|
+
## 1.24.0 (2013-3-21)
|
231
|
+
|
232
|
+
* Web UI: Fix regression that caused the failure tab to break when using
|
233
|
+
certain failure backends (@kjg)
|
234
|
+
* Web UI: Add page list to queues (@ql)
|
235
|
+
* Web UI: Fix regression that caused the failure tab to break when clicking on
|
236
|
+
"clear all failures" under certain failure backends, #859 (@jonhyman)
|
237
|
+
* Fix regression for Resque hooks where Resque would error out if you assigned
|
238
|
+
multiple hooks using an array, #859 (@jonhyman)
|
239
|
+
* Adds ENV["RUN_AT_EXIT_HOOKS"] which when set to 1 causes any defined
|
240
|
+
`at_exit` hooks to be run on the child when the forked process exits, #862
|
241
|
+
(@jonhyman)
|
242
|
+
* Bump up redis-namespace to 1.2.
|
243
|
+
* Remove multi_json, the JSON gem does the right thing everywhere now.
|
244
|
+
* Documentation fixes with demo instructions.
|
245
|
+
* Fixed encoding for worker PIDs on Windows (@kzgs)
|
246
|
+
* Cache value of PID in an ivar. This way, if you try to look up worker PIDs
|
247
|
+
from some other process (such as the console), they will be correct.
|
248
|
+
* Add a mutex-free logger. Ruby 2.0 does not allow you to use a mutex from
|
249
|
+
a signal handler, which can potentially cause deadlock. Now we're using
|
250
|
+
`mono_logger`, which has no locks.
|
251
|
+
|
252
|
+
## 1.23.1 (2013-3-7)
|
253
|
+
|
254
|
+
* JRuby and Rubinius are 'allow failure' on CI. This is largely due to Travis
|
255
|
+
weridness and flaky tests.
|
256
|
+
* Fix link from "queues" view to "failed" view when there's only one failed
|
257
|
+
queue (trliner)
|
258
|
+
* Making all the failure backends have the same method signature for duck
|
259
|
+
typing purposes (jonhyman)
|
260
|
+
* Fix log formatters not appending a new line (flavorpill)
|
261
|
+
* redirect unauthorized resque-web polling requests to root url (trliner)
|
262
|
+
* Various resque-web fixes (@tarcieri)
|
263
|
+
* Optional RedisMultiQueue failure backend, can be enabled with
|
264
|
+
FAILURE_BACKEND=redis_multi_queue env var (@tarcieri)
|
265
|
+
* resque:failures:sort rake task will migrate an existing "failed" queue into
|
266
|
+
separate failure queues per job queue, allowing an easy migration to
|
267
|
+
the RedisMultiQueue failure backend (@tarcieri)
|
268
|
+
* Disable forking completely with FORK_PER_JOB=false env var (@tarcieri)
|
269
|
+
* Report a failure when processes are killed with signals (@dylanahsmith)
|
270
|
+
* Enable registering of multiple Resque hooks (@panthomakos, @jonhyman)
|
271
|
+
|
1
272
|
## 1.23.0 (2012-10-01)
|
2
273
|
|
3
274
|
* don't run `before_fork` hook if Resque can't fork (@kjwierenga, @tarcieri, #672, #697)
|