sidekiq 2.6.1 → 2.6.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

data/Changes.md CHANGED
@@ -1,3 +1,9 @@
1
+ 2.6.2
2
+ -----------
3
+
4
+ - Add Dashboard beacon indicating when stats are updated. [brandonhilkert, #606]
5
+ - Revert issue with capistrano restart. [#598]
6
+
1
7
  2.6.1
2
8
  -----------
3
9
 
@@ -2,6 +2,7 @@ Capistrano::Configuration.instance.load do
2
2
  before "deploy:update_code", "sidekiq:quiet"
3
3
  after "deploy:stop", "sidekiq:stop"
4
4
  after "deploy:start", "sidekiq:start"
5
+ after "deploy:restart", "sidekiq:restart"
5
6
 
6
7
  _cset(:sidekiq_cmd) { "#{fetch(:bundle_cmd, "bundle")} exec sidekiq" }
7
8
  _cset(:sidekiqctl_cmd) { "#{fetch(:bundle_cmd, "bundle")} exec sidekiqctl" }
@@ -1,3 +1,3 @@
1
1
  module Sidekiq
2
- VERSION = "2.6.1"
2
+ VERSION = "2.6.2"
3
3
  end
@@ -54,6 +54,7 @@ var realtimeGraph = function(updatePath) {
54
54
  Sidekiq.failed = data.failed;
55
55
 
56
56
  updateStatsSummary(data);
57
+ pulseBeacon();
57
58
  });
58
59
  i++;
59
60
  }, timeInterval);
@@ -114,6 +115,18 @@ var updateStatsSummary = function(data) {
114
115
  $('ul.summary li.enqueued span.count').html(data.enqueued.numberWithDelimiter())
115
116
  }
116
117
 
118
+ var pulseBeacon = function(){
119
+ $beacon = $('.beacon')
120
+ $beacon.find('.dot').addClass('pulse').delay(1000).queue(function(){
121
+ $(this).removeClass('pulse');
122
+ $(this).dequeue();
123
+ });
124
+ $beacon.find('.ring').addClass('pulse').delay(1000).queue(function(){
125
+ $(this).removeClass('pulse');
126
+ $(this).dequeue();
127
+ });
128
+ }
129
+
117
130
  Number.prototype.numberWithDelimiter = function(delimiter) {
118
131
  var number = this + '', delimiter = delimiter || ',';
119
132
  var split = number.split('.');
@@ -268,6 +268,164 @@ img.smallogo {
268
268
  font-size: 0.9em;
269
269
  }
270
270
 
271
+ .beacon {
272
+ position: relative;
273
+ height: 20px;
274
+ display: inline-block;
275
+ }
276
+
277
+ .beacon .dot {
278
+ position: absolute;
279
+ top: 5px;
280
+ left: 10px;
281
+ width: 10px;
282
+ height: 10px;
283
+ background-color: #80002d;
284
+ border-radius: 10px;
285
+ box-shadow: 0 0 9px #666;
286
+ -moz-box-shadow: 0 0 9px #666;
287
+ -webkit-box-shadow: 0 0 9px #666;
288
+ border: 3px solid transparent;
289
+ z-index: 10;
290
+ }
291
+
292
+ .beacon .dot.pulse {
293
+ -webkit-animation: beacon-dot-pulse 1s ease-out;
294
+ -moz-animation: beacon-dot-pulse 1s ease-out;
295
+ animation: beacon-dot-pulse 1s ease-out;
296
+ -webkit-animation-iteration-count: 1;
297
+ -moz-animation-iteration-count: 1;
298
+ animation-iteration-count: 1;
299
+ }
300
+
301
+ @-webkit-keyframes beacon-dot-pulse {
302
+ from {
303
+ background-color: #80002d;
304
+ -webkit-box-shadow: 0 0 9px #666;
305
+ -moz-box-shadow: 0 0 9px #666;
306
+ box-shadow: 0 0 9px #666;
307
+ }
308
+ 50% {
309
+ background-color: #c90047;
310
+ -webkit-box-shadow: 0 0 18px #666;
311
+ -moz-box-shadow: 0 0 18px #666;
312
+ box-shadow: 0 0 18px #666;
313
+ }
314
+ to {
315
+ background-color: #80002d;
316
+ -webkit-box-shadow: 0 0 9px #666;
317
+ -moz-box-shadow: 0 0 9px #666;
318
+ box-shadow: 0 0 9px #666;
319
+ }
320
+ }
321
+
322
+ @-moz-keyframes beacon-dot-pulse {
323
+ from {
324
+ background-color: #80002d;
325
+ -webkit-box-shadow: 0 0 9px #666;
326
+ -moz-box-shadow: 0 0 9px #666;
327
+ box-shadow: 0 0 9px #666;
328
+ }
329
+ 50% {
330
+ background-color: #c90047;
331
+ -webkit-box-shadow: 0 0 18px #666;
332
+ -moz-box-shadow: 0 0 18px #666;
333
+ box-shadow: 0 0 18px #666;
334
+ }
335
+ to {
336
+ background-color: #80002d;
337
+ -webkit-box-shadow: 0 0 9px #666;
338
+ -moz-box-shadow: 0 0 9px #666;
339
+ box-shadow: 0 0 9px #666;
340
+ }
341
+ }
342
+
343
+ @keyframes beacon-dot-pulse {
344
+ from {
345
+ background-color: #80002d;
346
+ -webkit-box-shadow: 0 0 9px #666;
347
+ -moz-box-shadow: 0 0 9px #666;
348
+ box-shadow: 0 0 9px #666;
349
+ }
350
+ 50% {
351
+ background-color: #c90047;
352
+ -webkit-box-shadow: 0 0 18px #666;
353
+ -moz-box-shadow: 0 0 18px #666;
354
+ box-shadow: 0 0 18px #666;
355
+ }
356
+ to {
357
+ background-color: #80002d;
358
+ -webkit-box-shadow: 0 0 9px #666;
359
+ -moz-box-shadow: 0 0 9px #666;
360
+ box-shadow: 0 0 9px #666;
361
+ }
362
+ }
363
+
364
+ .beacon .ring {
365
+ position: absolute;
366
+ top: 7px;
367
+ left: 12px;
368
+ width: 0;
369
+ height: 0;
370
+ border-radius: 3px;
371
+ border: 3px solid #80002d;
372
+ z-index: 5;
373
+ }
374
+
375
+ .beacon .ring.pulse {
376
+ -webkit-animation: beacon-ring-pulse 1s;
377
+ -moz-animation: beacon-ring-pulse 1s;
378
+ animation: beacon-ring-pulse 1s;
379
+ -webkit-animation-iteration-count: 1;
380
+ -moz-animation-iteration-count: 1;
381
+ animation-iteration-count: 1;
382
+ }
383
+
384
+ @-webkit-keyframes beacon-ring-pulse {
385
+ 0% {
386
+ opacity: 1;
387
+ -webkit-transform: scale(0);
388
+ }
389
+ 100% {
390
+ opacity: 0;
391
+ border-radius: 15px;
392
+ padding: 8px;
393
+ top: 0;
394
+ left: 4px;
395
+ -webkit-transform: scale(1.5);
396
+ }
397
+ }
398
+
399
+ @-moz-keyframes beacon-ring-pulse {
400
+ 0% {
401
+ opacity: 1;
402
+ -moz-transform: scale(0);
403
+ }
404
+ 100% {
405
+ opacity: 0;
406
+ border-radius: 15px;
407
+ padding: 8px;
408
+ top: 2px;
409
+ left: 7px;
410
+ -moz-transform: scale(1.6);
411
+ }
412
+ }
413
+
414
+ @keyframes beacon-ring-pulse {
415
+ 0% {
416
+ opacity: 1;
417
+ transform: scale(0);
418
+ }
419
+ 100% {
420
+ opacity: 0;
421
+ border-radius: 15px;
422
+ padding: 8px;
423
+ top: 0;
424
+ left: 5px;
425
+ transform: scale(1.5);
426
+ }
427
+ }
428
+
271
429
  .history-heading {
272
430
  padding-right: 15px;
273
431
  }
@@ -343,7 +501,6 @@ img.smallogo {
343
501
  }
344
502
 
345
503
  /* Rickshaw */
346
-
347
504
  .rickshaw_graph .detail {
348
505
  pointer-events: none;
349
506
  position: absolute;
@@ -1,6 +1,10 @@
1
1
  script type="text/javascript" src="#{{root_path}}javascripts/dashboard.js"
2
2
 
3
- h3 Dashboard
3
+ h3
4
+ | Dashboard
5
+ span.beacon
6
+ .ring
7
+ .dot
4
8
 
5
9
  h5 Real-time
6
10
  #realtime
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 2.6.2
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-12-31 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis