resque 1.23.0 → 2.6.0
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 +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)
|