sidekiq 4.2.10 → 5.0.0
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/5.0-Upgrade.md +56 -0
- data/Changes.md +24 -1
- data/Ent-Changes.md +3 -2
- data/Pro-Changes.md +6 -2
- data/README.md +2 -2
- data/bin/sidekiqctl +1 -1
- data/bin/sidekiqload +3 -8
- data/lib/sidekiq/api.rb +33 -14
- data/lib/sidekiq/cli.rb +12 -5
- data/lib/sidekiq/client.rb +15 -13
- data/lib/sidekiq/delay.rb +21 -0
- data/lib/sidekiq/extensions/generic_proxy.rb +7 -1
- data/lib/sidekiq/job_logger.rb +27 -0
- data/lib/sidekiq/job_retry.rb +235 -0
- data/lib/sidekiq/launcher.rb +1 -7
- data/lib/sidekiq/middleware/server/active_record.rb +9 -0
- data/lib/sidekiq/processor.rb +68 -31
- data/lib/sidekiq/rails.rb +2 -65
- data/lib/sidekiq/redis_connection.rb +1 -1
- data/lib/sidekiq/testing.rb +1 -1
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web/action.rb +0 -4
- data/lib/sidekiq/web/application.rb +6 -11
- data/lib/sidekiq/web/helpers.rb +9 -1
- data/lib/sidekiq/worker.rb +34 -11
- data/lib/sidekiq.rb +4 -13
- data/sidekiq.gemspec +1 -1
- data/web/assets/javascripts/dashboard.js +10 -12
- data/web/assets/stylesheets/application-rtl.css +246 -0
- data/web/assets/stylesheets/application.css +336 -4
- data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
- data/web/locales/ar.yml +80 -0
- data/web/locales/fa.yml +1 -0
- data/web/locales/he.yml +79 -0
- data/web/locales/ur.yml +80 -0
- data/web/views/_footer.erb +1 -1
- data/web/views/_nav.erb +1 -1
- data/web/views/_paging.erb +1 -1
- data/web/views/busy.erb +4 -4
- data/web/views/dashboard.erb +1 -1
- data/web/views/layout.erb +10 -1
- data/web/views/morgue.erb +4 -4
- data/web/views/queue.erb +7 -7
- data/web/views/retries.erb +5 -5
- data/web/views/scheduled.erb +2 -2
- metadata +15 -8
- data/lib/sidekiq/middleware/server/logging.rb +0 -31
- data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
@@ -0,0 +1,9 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* bootstrap-rtl (version 3.3.4)
|
3
|
+
* Author: Morteza Ansarinia (http://github.com/morteza)
|
4
|
+
* Created on: August 13,2015
|
5
|
+
* Project: bootstrap-rtl
|
6
|
+
* Copyright: Unlicensed Public Domain
|
7
|
+
*******************************************************************************/
|
8
|
+
|
9
|
+
html{direction:rtl}body{direction:rtl}.flip.text-left{text-align:right}.flip.text-right{text-align:left}.list-unstyled{padding-right:0;padding-left:initial}.list-inline{padding-right:0;padding-left:initial;margin-right:-5px;margin-left:0}dd{margin-right:0;margin-left:initial}@media (min-width:768px){.dl-horizontal dt{float:right;clear:right;text-align:left}.dl-horizontal dd{margin-right:180px;margin-left:0}}blockquote{border-right:5px solid #eee;border-left:0}.blockquote-reverse,blockquote.pull-left{padding-left:15px;padding-right:0;border-left:5px solid #eee;border-right:0;text-align:left}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:right}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{left:100%;right:auto}.col-xs-pull-11{left:91.66666667%;right:auto}.col-xs-pull-10{left:83.33333333%;right:auto}.col-xs-pull-9{left:75%;right:auto}.col-xs-pull-8{left:66.66666667%;right:auto}.col-xs-pull-7{left:58.33333333%;right:auto}.col-xs-pull-6{left:50%;right:auto}.col-xs-pull-5{left:41.66666667%;right:auto}.col-xs-pull-4{left:33.33333333%;right:auto}.col-xs-pull-3{left:25%;right:auto}.col-xs-pull-2{left:16.66666667%;right:auto}.col-xs-pull-1{left:8.33333333%;right:auto}.col-xs-pull-0{left:auto;right:auto}.col-xs-push-12{right:100%;left:0}.col-xs-push-11{right:91.66666667%;left:0}.col-xs-push-10{right:83.33333333%;left:0}.col-xs-push-9{right:75%;left:0}.col-xs-push-8{right:66.66666667%;left:0}.col-xs-push-7{right:58.33333333%;left:0}.col-xs-push-6{right:50%;left:0}.col-xs-push-5{right:41.66666667%;left:0}.col-xs-push-4{right:33.33333333%;left:0}.col-xs-push-3{right:25%;left:0}.col-xs-push-2{right:16.66666667%;left:0}.col-xs-push-1{right:8.33333333%;left:0}.col-xs-push-0{right:auto;left:0}.col-xs-offset-12{margin-right:100%;margin-left:0}.col-xs-offset-11{margin-right:91.66666667%;margin-left:0}.col-xs-offset-10{margin-right:83.33333333%;margin-left:0}.col-xs-offset-9{margin-right:75%;margin-left:0}.col-xs-offset-8{margin-right:66.66666667%;margin-left:0}.col-xs-offset-7{margin-right:58.33333333%;margin-left:0}.col-xs-offset-6{margin-right:50%;margin-left:0}.col-xs-offset-5{margin-right:41.66666667%;margin-left:0}.col-xs-offset-4{margin-right:33.33333333%;margin-left:0}.col-xs-offset-3{margin-right:25%;margin-left:0}.col-xs-offset-2{margin-right:16.66666667%;margin-left:0}.col-xs-offset-1{margin-right:8.33333333%;margin-left:0}.col-xs-offset-0{margin-right:0;margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:right}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{left:100%;right:auto}.col-sm-pull-11{left:91.66666667%;right:auto}.col-sm-pull-10{left:83.33333333%;right:auto}.col-sm-pull-9{left:75%;right:auto}.col-sm-pull-8{left:66.66666667%;right:auto}.col-sm-pull-7{left:58.33333333%;right:auto}.col-sm-pull-6{left:50%;right:auto}.col-sm-pull-5{left:41.66666667%;right:auto}.col-sm-pull-4{left:33.33333333%;right:auto}.col-sm-pull-3{left:25%;right:auto}.col-sm-pull-2{left:16.66666667%;right:auto}.col-sm-pull-1{left:8.33333333%;right:auto}.col-sm-pull-0{left:auto;right:auto}.col-sm-push-12{right:100%;left:0}.col-sm-push-11{right:91.66666667%;left:0}.col-sm-push-10{right:83.33333333%;left:0}.col-sm-push-9{right:75%;left:0}.col-sm-push-8{right:66.66666667%;left:0}.col-sm-push-7{right:58.33333333%;left:0}.col-sm-push-6{right:50%;left:0}.col-sm-push-5{right:41.66666667%;left:0}.col-sm-push-4{right:33.33333333%;left:0}.col-sm-push-3{right:25%;left:0}.col-sm-push-2{right:16.66666667%;left:0}.col-sm-push-1{right:8.33333333%;left:0}.col-sm-push-0{right:auto;left:0}.col-sm-offset-12{margin-right:100%;margin-left:0}.col-sm-offset-11{margin-right:91.66666667%;margin-left:0}.col-sm-offset-10{margin-right:83.33333333%;margin-left:0}.col-sm-offset-9{margin-right:75%;margin-left:0}.col-sm-offset-8{margin-right:66.66666667%;margin-left:0}.col-sm-offset-7{margin-right:58.33333333%;margin-left:0}.col-sm-offset-6{margin-right:50%;margin-left:0}.col-sm-offset-5{margin-right:41.66666667%;margin-left:0}.col-sm-offset-4{margin-right:33.33333333%;margin-left:0}.col-sm-offset-3{margin-right:25%;margin-left:0}.col-sm-offset-2{margin-right:16.66666667%;margin-left:0}.col-sm-offset-1{margin-right:8.33333333%;margin-left:0}.col-sm-offset-0{margin-right:0;margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:right}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{left:100%;right:auto}.col-md-pull-11{left:91.66666667%;right:auto}.col-md-pull-10{left:83.33333333%;right:auto}.col-md-pull-9{left:75%;right:auto}.col-md-pull-8{left:66.66666667%;right:auto}.col-md-pull-7{left:58.33333333%;right:auto}.col-md-pull-6{left:50%;right:auto}.col-md-pull-5{left:41.66666667%;right:auto}.col-md-pull-4{left:33.33333333%;right:auto}.col-md-pull-3{left:25%;right:auto}.col-md-pull-2{left:16.66666667%;right:auto}.col-md-pull-1{left:8.33333333%;right:auto}.col-md-pull-0{left:auto;right:auto}.col-md-push-12{right:100%;left:0}.col-md-push-11{right:91.66666667%;left:0}.col-md-push-10{right:83.33333333%;left:0}.col-md-push-9{right:75%;left:0}.col-md-push-8{right:66.66666667%;left:0}.col-md-push-7{right:58.33333333%;left:0}.col-md-push-6{right:50%;left:0}.col-md-push-5{right:41.66666667%;left:0}.col-md-push-4{right:33.33333333%;left:0}.col-md-push-3{right:25%;left:0}.col-md-push-2{right:16.66666667%;left:0}.col-md-push-1{right:8.33333333%;left:0}.col-md-push-0{right:auto;left:0}.col-md-offset-12{margin-right:100%;margin-left:0}.col-md-offset-11{margin-right:91.66666667%;margin-left:0}.col-md-offset-10{margin-right:83.33333333%;margin-left:0}.col-md-offset-9{margin-right:75%;margin-left:0}.col-md-offset-8{margin-right:66.66666667%;margin-left:0}.col-md-offset-7{margin-right:58.33333333%;margin-left:0}.col-md-offset-6{margin-right:50%;margin-left:0}.col-md-offset-5{margin-right:41.66666667%;margin-left:0}.col-md-offset-4{margin-right:33.33333333%;margin-left:0}.col-md-offset-3{margin-right:25%;margin-left:0}.col-md-offset-2{margin-right:16.66666667%;margin-left:0}.col-md-offset-1{margin-right:8.33333333%;margin-left:0}.col-md-offset-0{margin-right:0;margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:right}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{left:100%;right:auto}.col-lg-pull-11{left:91.66666667%;right:auto}.col-lg-pull-10{left:83.33333333%;right:auto}.col-lg-pull-9{left:75%;right:auto}.col-lg-pull-8{left:66.66666667%;right:auto}.col-lg-pull-7{left:58.33333333%;right:auto}.col-lg-pull-6{left:50%;right:auto}.col-lg-pull-5{left:41.66666667%;right:auto}.col-lg-pull-4{left:33.33333333%;right:auto}.col-lg-pull-3{left:25%;right:auto}.col-lg-pull-2{left:16.66666667%;right:auto}.col-lg-pull-1{left:8.33333333%;right:auto}.col-lg-pull-0{left:auto;right:auto}.col-lg-push-12{right:100%;left:0}.col-lg-push-11{right:91.66666667%;left:0}.col-lg-push-10{right:83.33333333%;left:0}.col-lg-push-9{right:75%;left:0}.col-lg-push-8{right:66.66666667%;left:0}.col-lg-push-7{right:58.33333333%;left:0}.col-lg-push-6{right:50%;left:0}.col-lg-push-5{right:41.66666667%;left:0}.col-lg-push-4{right:33.33333333%;left:0}.col-lg-push-3{right:25%;left:0}.col-lg-push-2{right:16.66666667%;left:0}.col-lg-push-1{right:8.33333333%;left:0}.col-lg-push-0{right:auto;left:0}.col-lg-offset-12{margin-right:100%;margin-left:0}.col-lg-offset-11{margin-right:91.66666667%;margin-left:0}.col-lg-offset-10{margin-right:83.33333333%;margin-left:0}.col-lg-offset-9{margin-right:75%;margin-left:0}.col-lg-offset-8{margin-right:66.66666667%;margin-left:0}.col-lg-offset-7{margin-right:58.33333333%;margin-left:0}.col-lg-offset-6{margin-right:50%;margin-left:0}.col-lg-offset-5{margin-right:41.66666667%;margin-left:0}.col-lg-offset-4{margin-right:33.33333333%;margin-left:0}.col-lg-offset-3{margin-right:25%;margin-left:0}.col-lg-offset-2{margin-right:16.66666667%;margin-left:0}.col-lg-offset-1{margin-right:8.33333333%;margin-left:0}.col-lg-offset-0{margin-right:0;margin-left:0}}caption{text-align:right}th{text-align:right}@media screen and (max-width:767px){.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:initial}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-left:0;border-right:initial}}.radio label,.checkbox label{padding-right:20px;padding-left:initial}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{margin-right:-20px;margin-left:auto}.radio-inline,.checkbox-inline{padding-right:20px;padding-left:0}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-right:10px;margin-left:0}.has-feedback .form-control{padding-left:42.5px;padding-right:12px}.form-control-feedback{left:0;right:auto}@media (min-width:768px){.form-inline label{padding-right:0;padding-left:initial}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{margin-right:0;margin-left:auto}}@media (min-width:768px){.form-horizontal .control-label{text-align:left}}.form-horizontal .has-feedback .form-control-feedback{left:15px;right:auto}.caret{margin-right:2px;margin-left:0}.dropdown-menu{right:0;left:auto;float:left;text-align:right}.dropdown-menu.pull-right{left:0;right:auto;float:right}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group>.btn,.btn-group-vertical>.btn{float:right}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-right:-1px;margin-left:0}.btn-toolbar{margin-right:-5px;margin-left:0}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:right}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-right:5px;margin-left:0}.btn-group>.btn:first-child{margin-right:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group{float:right}.btn-group.btn-group-justified>.btn,.btn-group.btn-group-justified>.btn-group{float:none}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.btn .caret{margin-right:0}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-right:0}.input-group .form-control{float:right}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:first-child{border-left:0;border-right:1px solid}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:last-child{border-left-width:1px;border-left-style:solid;border-right:0}.input-group-btn>.btn+.btn{margin-right:-1px;margin-left:auto}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-left:-1px;margin-right:auto}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-right:-1px;margin-left:auto}.nav{padding-right:0;padding-left:initial}.nav-tabs>li{float:right}.nav-tabs>li>a{margin-left:auto;margin-right:-2px;border-radius:4px 4px 0 0}.nav-pills>li{float:right}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-right:2px;margin-left:auto}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-right:0;margin-left:auto}.nav-justified>.dropdown .dropdown-menu{right:auto}.nav-tabs-justified>li>a{margin-left:0;margin-right:auto}@media (min-width:768px){.nav-tabs-justified>li>a{border-radius:4px 4px 0 0}}@media (min-width:768px){.navbar-header{float:right}}.navbar-collapse{padding-right:15px;padding-left:15px}.navbar-brand{float:right}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-right:-15px;margin-left:auto}}.navbar-toggle{float:left;margin-left:15px;margin-right:auto}@media (max-width:767px){.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 25px 5px 15px}}@media (min-width:768px){.navbar-nav{float:right}.navbar-nav>li{float:right}}@media (min-width:768px){.navbar-left.flip{float:right!important}.navbar-right:last-child{margin-left:-15px;margin-right:auto}.navbar-right.flip{float:left!important;margin-left:-15px;margin-right:auto}.navbar-right .dropdown-menu{left:0;right:auto}}@media (min-width:768px){.navbar-text{float:right}.navbar-text.navbar-right:last-child{margin-left:0;margin-right:auto}}.pagination{padding-right:0}.pagination>li>a,.pagination>li>span{float:right;margin-right:-1px;margin-left:0}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{margin-right:-1px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.pager{padding-right:0;padding-left:initial}.pager .next>a,.pager .next>span{float:left}.pager .previous>a,.pager .previous>span{float:right}.nav-pills>li>a>.badge{margin-left:0;margin-right:3px}.list-group-item>.badge{float:left}.list-group-item>.badge+.badge{margin-left:5px;margin-right:auto}.alert-dismissable,.alert-dismissible{padding-left:35px;padding-right:15px}.alert-dismissable .close,.alert-dismissible .close{right:auto;left:-21px}.progress-bar{float:right}.media>.pull-left{margin-right:10px}.media>.pull-left.flip{margin-right:0;margin-left:10px}.media>.pull-right{margin-left:10px}.media>.pull-right.flip{margin-left:0;margin-right:10px}.media-right,.media>.pull-right{padding-right:10px;padding-left:initial}.media-left,.media>.pull-left{padding-left:10px;padding-right:initial}.media-list{padding-right:0;padding-left:initial;list-style:none}.list-group{padding-right:0;padding-left:initial}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-right-radius:3px;border-top-left-radius:0}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-left-radius:3px;border-top-right-radius:0}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px;border-top-right-radius:0}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px;border-top-left-radius:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:none}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:none;border-left:0}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{right:0;left:auto}.close{float:left}.modal-footer{text-align:left}.modal-footer.flip{text-align:right}.modal-footer .btn+.btn{margin-left:auto;margin-right:5px}.modal-footer .btn-group .btn+.btn{margin-right:-1px;margin-left:auto}.modal-footer .btn-block+.btn-block{margin-right:0;margin-left:auto}.popover{left:auto;text-align:right}.popover.top>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}.popover.top>.arrow:after{margin-right:-10px;margin-left:auto}.popover.bottom>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}.popover.bottom>.arrow:after{margin-right:-10px;margin-left:auto}.carousel-control{right:0;bottom:0}.carousel-control.left{right:auto;left:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;right:auto;margin-right:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;left:auto;margin-left:-10px}.carousel-indicators{right:50%;left:0;margin-right:-30%;margin-left:0;padding-left:0}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:0;margin-right:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-left:0;margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}}.pull-right.flip{float:left!important}.pull-left.flip{float:right!important}
|
data/web/locales/ar.yml
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
ar:
|
3
|
+
TextDirection: 'rtl'
|
4
|
+
Dashboard: لوحة التحكم
|
5
|
+
Status: حالة
|
6
|
+
Time: وقت
|
7
|
+
Namespace: مساحة الاسم
|
8
|
+
Realtime: الزمن الفعلي
|
9
|
+
History: تاريخ
|
10
|
+
Busy: مشغول
|
11
|
+
Processed: تمت المعالجة
|
12
|
+
Failed: فشل
|
13
|
+
Scheduled: مجدول
|
14
|
+
Retries: إعادة محاولة
|
15
|
+
Enqueued: في الرتل
|
16
|
+
Worker: عامل
|
17
|
+
LivePoll: استعلام مباشر
|
18
|
+
StopPolling: إيقاف الاستعلامات
|
19
|
+
Queue: رتل
|
20
|
+
Class: نوع
|
21
|
+
Job: وظيفة
|
22
|
+
Arguments: مدخلات
|
23
|
+
Extras: إضافات
|
24
|
+
Started: بدأت
|
25
|
+
ShowAll: عرض الكل
|
26
|
+
CurrentMessagesInQueue: الرسائل الحالية في الرتل <span class='title'>%{queue}</span>
|
27
|
+
AddToQueue: إضافة إلى الرتل
|
28
|
+
AreYouSureDeleteJob: هل أنت متأكد من حذف الوظيفة؟
|
29
|
+
AreYouSureDeleteQueue: هل أنت متأكد من حذف الرتل %{queue}؟
|
30
|
+
Delete: حذف
|
31
|
+
Queues: أرتال
|
32
|
+
Size: حجم
|
33
|
+
Actions: إجراءات
|
34
|
+
NextRetry: إعادة المحاولة القادمة
|
35
|
+
RetryCount: عدد مرات إعادة المحاولة
|
36
|
+
RetryNow: إعادة المحاولة الآن
|
37
|
+
Kill: إبطال
|
38
|
+
LastRetry: إعادة المحاولة الأخيرة
|
39
|
+
OriginallyFailed: فشل أصلا
|
40
|
+
AreYouSure: هل انت متأكد؟
|
41
|
+
DeleteAll: حذف الكل
|
42
|
+
RetryAll: إعادة المحاولة للكل
|
43
|
+
NoRetriesFound: لاتوجد أي إعادة محاولة
|
44
|
+
Error: خطأ
|
45
|
+
ErrorClass: نوع الخطأ
|
46
|
+
ErrorMessage: رسالة الخطأ
|
47
|
+
ErrorBacktrace: تتبع الخطأ
|
48
|
+
GoBack: إلى الخلف
|
49
|
+
NoScheduledFound: لايوجد وظائف مجدولة
|
50
|
+
When: متى
|
51
|
+
ScheduledJobs: وظائف مجدولة
|
52
|
+
idle: خامل
|
53
|
+
active: نشيط
|
54
|
+
Version: إصدار
|
55
|
+
Connections: اتصالات
|
56
|
+
MemoryUsage: استخدام الذاكرة
|
57
|
+
PeakMemoryUsage: ذروة استخدام الذاكرة
|
58
|
+
Uptime: زمن العمل
|
59
|
+
OneWeek: أسبوع
|
60
|
+
OneMonth: شهر
|
61
|
+
ThreeMonths: ثلاثة أشهر
|
62
|
+
SixMonths: ستة أشهر
|
63
|
+
Failures: فشل
|
64
|
+
DeadJobs: وظائف ميتة
|
65
|
+
NoDeadJobsFound: لاتوجد وظائف ميتة
|
66
|
+
Dead: ميتة
|
67
|
+
Processes: عمليات
|
68
|
+
Thread: نيسب
|
69
|
+
Threads: نياسب
|
70
|
+
Jobs: وظائف
|
71
|
+
Paused: إيقاف مؤقت
|
72
|
+
Stop: إيقاف
|
73
|
+
Quiet: هدوء
|
74
|
+
StopAll: إيقاف الكل
|
75
|
+
QuietAll: هدوء الكل
|
76
|
+
PollingInterval: الفاصل الزمني بين الاستعلامات
|
77
|
+
Plugins: الإضافات
|
78
|
+
NotYetEnqueued: لم تدخل الرتل بعد
|
79
|
+
CreatedAt: أنشئت في
|
80
|
+
BackToApp: العودة إلى التطبيق
|
data/web/locales/fa.yml
CHANGED
data/web/locales/he.yml
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
he:
|
2
|
+
TextDirection: 'rtl'
|
3
|
+
Dashboard: לוח מחוונים
|
4
|
+
Status: מצב
|
5
|
+
Time: שעה
|
6
|
+
Namespace: מרחב שם
|
7
|
+
Realtime: זמן אמת
|
8
|
+
History: היסטוריה
|
9
|
+
Busy: עסוקים
|
10
|
+
Processed: עובדו
|
11
|
+
Failed: נכשלו
|
12
|
+
Scheduled: מתוכננים
|
13
|
+
Retries: נסיונות חוזרים
|
14
|
+
Enqueued: בתור
|
15
|
+
Worker: עובד
|
16
|
+
LivePoll: תשאול חי
|
17
|
+
StopPolling: עצור תשאול
|
18
|
+
Queue: תור
|
19
|
+
Class: מחלקה
|
20
|
+
Job: עבודה
|
21
|
+
Arguments: ארגומנטים
|
22
|
+
Extras: תוספות
|
23
|
+
Started: הותחלו
|
24
|
+
ShowAll: הצג את הכל
|
25
|
+
CurrentMessagesInQueue: עבודות נוכחיות בתור <span class='title'>%{queue}</span>
|
26
|
+
Delete: מחק
|
27
|
+
AddToQueue: הוסף לתור
|
28
|
+
AreYouSureDeleteJob: האם אתם בטוחים שברצונכם למחוק את העבודה הזאת?
|
29
|
+
AreYouSureDeleteQueue: האם אתם בטוחים שברצונכם למחוק את התור %{queue}?
|
30
|
+
Queues: תורים
|
31
|
+
Size: אורך
|
32
|
+
Actions: פעולות
|
33
|
+
NextRetry: ניסיון חוזר הבא
|
34
|
+
RetryCount: מספר נסיונות חוזרים
|
35
|
+
RetryNow: נסה שוב עכשיו
|
36
|
+
Kill: הרוג
|
37
|
+
LastRetry: ניסיון חוזר אחרון
|
38
|
+
OriginallyFailed: נכשל בניסיון הראשון
|
39
|
+
AreYouSure: אתם בטוחים?
|
40
|
+
DeleteAll: מחק הכל
|
41
|
+
RetryAll: נסה שוב את הכל
|
42
|
+
NoRetriesFound: לא נמצאו נסיונות חוזרים
|
43
|
+
Error: שגיאה
|
44
|
+
ErrorClass: סוג השגיאה
|
45
|
+
ErrorMessage: הודעת השגיאה
|
46
|
+
ErrorBacktrace: מעקב לאחור של השגיאה
|
47
|
+
GoBack: ← אחורה
|
48
|
+
NoScheduledFound: לא נמצאו עבודות מתוכננות
|
49
|
+
When: מתי
|
50
|
+
ScheduledJobs: עבודות מתוכננות
|
51
|
+
idle: במנוחה
|
52
|
+
active: פעיל
|
53
|
+
Version: גירסה
|
54
|
+
Connections: חיבורים
|
55
|
+
MemoryUsage: שימוש בזיכרון
|
56
|
+
PeakMemoryUsage: שיא השימוש בזיכרון
|
57
|
+
Uptime: זמן פעילות (ימים)
|
58
|
+
OneWeek: שבוע 1
|
59
|
+
OneMonth: חודש 1
|
60
|
+
ThreeMonths: 3 חדשים
|
61
|
+
SixMonths: 6 חדשים
|
62
|
+
Failures: כשלונות
|
63
|
+
DeadJobs: עבודות מתות
|
64
|
+
NoDeadJobsFound: לא נמצאו עבודות מתות
|
65
|
+
Dead: מתים
|
66
|
+
Processes: תהליכים
|
67
|
+
Thread: חוט
|
68
|
+
Threads: חוטים
|
69
|
+
Jobs: עבודות
|
70
|
+
Paused: הופסקו
|
71
|
+
Stop: עצור
|
72
|
+
Quiet: שקט
|
73
|
+
StopAll: עצור הכל
|
74
|
+
QuietAll: השקט את כולם
|
75
|
+
PollingInterval: מרווח זמן בין תשאולים
|
76
|
+
Plugins: תוספים
|
77
|
+
NotYetEnqueued: עוד לא בתור
|
78
|
+
CreatedAt: נוצר ב
|
79
|
+
BackToApp: חזרה לאפליקציה
|
data/web/locales/ur.yml
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# elements like %{queue} are variables and should not be translated
|
2
|
+
ur:
|
3
|
+
TextDirection: 'rtl'
|
4
|
+
Dashboard: صفحۂ اول
|
5
|
+
Status: اسٹیٹس
|
6
|
+
Time: ﻭﻗﺖ
|
7
|
+
Namespace: Namespace
|
8
|
+
Realtime: ﺑﺮاﮦ ﺭاﺳﺖ
|
9
|
+
History: ﺗﺎﺭﻳﺦ
|
10
|
+
Busy: مصروف
|
11
|
+
Processed: مکمل شدہ
|
12
|
+
Failed: ﻧﺎکاﻡ ﺷﺪﮦ
|
13
|
+
Scheduled: ﻁےﺷﺪﮦ
|
14
|
+
Retries: ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ
|
15
|
+
Enqueued: قطار ميں شامل
|
16
|
+
Worker: ورکر
|
17
|
+
LivePoll: ﺑﺮاﮦ ﺭاﺳﺖ
|
18
|
+
StopPolling: ﺑﺮاﮦ ﺭاﺳﺖ روکيے
|
19
|
+
Queue: قطار
|
20
|
+
Class: کلاس
|
21
|
+
Job: جاب
|
22
|
+
Arguments: دلائل
|
23
|
+
Extras: اﺻﺎﻑی
|
24
|
+
Started: شروع
|
25
|
+
ShowAll: سارے دکھاو
|
26
|
+
CurrentMessagesInQueue: قطار ميں موجود تمام پيغامات <span class='title'>%{queue}</span>
|
27
|
+
AddToQueue: ﻗﻄﺎﺭ ميں شامل کريں
|
28
|
+
AreYouSureDeleteJob: کيا آپ یقین جاب حتم کرنا چاھتے ہيں ؟
|
29
|
+
AreYouSureDeleteQueue: کيا آپ یقین قطار حتم کرنا چاھتے ہيں ؟
|
30
|
+
Delete: ﺣﺬﻑ
|
31
|
+
Queues: قطاريں
|
32
|
+
Size: ﺣﺠﻢ
|
33
|
+
Actions: ﻋﻮاﻣﻞ
|
34
|
+
NextRetry: اگلی کﻭﺷﻴﺶ
|
35
|
+
RetryCount: دوبارہ کوشش کا مکمل شمار
|
36
|
+
RetryNow: ابھی دوبارہ کوشش
|
37
|
+
Kill: ختم کرديں
|
38
|
+
LastRetry: گزشتہ کوشش
|
39
|
+
OriginallyFailed: ابتادائ ناکامی
|
40
|
+
AreYouSure: کيا یقین ؟
|
41
|
+
DeleteAll: ﺗﻤﺎﻡ ﺣﺬﻑ کر ديں
|
42
|
+
RetryAll: ﺗﻤﺎﻡ کی ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ کﺭيں
|
43
|
+
NoRetriesFound: کویٔ ﺩﻭﺑﺎﺭﮦ کﻭﺷﻴﺶ نھيں ملی
|
44
|
+
Error: مسئلہ
|
45
|
+
ErrorClass: مسئلہ کی کلاس
|
46
|
+
ErrorMessage: مسئلہ کی وجہ
|
47
|
+
ErrorBacktrace: مسئلہ کی کی تحقیقات کريں
|
48
|
+
GoBack: واپس جايں
|
49
|
+
NoScheduledFound: کویٔ ﻁےﺷﺪﮦچيز نہیں ملی
|
50
|
+
When: ﺏک
|
51
|
+
ScheduledJobs: ﻁےﺷﺪﮦجاب
|
52
|
+
idle: بیکار
|
53
|
+
active: فعال
|
54
|
+
Version: ورژن
|
55
|
+
Connections: کنکشنز
|
56
|
+
MemoryUsage: یاداشت کا استعمال
|
57
|
+
PeakMemoryUsage: سب سے زيادہ یاداشت کا استعمال
|
58
|
+
Uptime: اپ ٹائم
|
59
|
+
OneWeek: ایک ہفتہ
|
60
|
+
OneMonth: ایک مہینہ
|
61
|
+
ThreeMonths: تین ماہ
|
62
|
+
SixMonths: چھ ماہ
|
63
|
+
Failures: ناکامیاں
|
64
|
+
DeadJobs: ختم شدہ جاب
|
65
|
+
NoDeadJobsFound: کویٔ ختم شدہ جاب نہيی ملی
|
66
|
+
Dead: ختم شدہ
|
67
|
+
Processes: ﻋﻤﻠﻴﺎﺕ
|
68
|
+
Thread: موضوع
|
69
|
+
Threads: موضوع
|
70
|
+
Jobs: جابز
|
71
|
+
Paused: موقوف
|
72
|
+
Stop: بند کرو
|
73
|
+
Quiet: ﺣﺘﻢ کﺭﻭ
|
74
|
+
StopAll: ﺗﻤﺎﻡ ﺑﻨﺪ کﺭﻭ
|
75
|
+
QuietAll: ﺗﻤﺎﻡ ﺣﺘﻢ کﺭﻭ
|
76
|
+
PollingInterval: ﺑﺮاﮦ ﺭاﺳﺖ کا ﺩﻭﺭاﻧﻴﮧ
|
77
|
+
Plugins: پلگ انز
|
78
|
+
NotYetEnqueued: ﻗﺘﺎﺭميں شامل نھيں
|
79
|
+
CreatedAt: ﺗﺎﺭﻳﺢ آﻏﺎﺯ
|
80
|
+
BackToApp: ﻭاپﺱ صفحۂ اﻭﻝ پر
|
data/web/views/_footer.erb
CHANGED
data/web/views/_nav.erb
CHANGED
@@ -53,7 +53,7 @@
|
|
53
53
|
</ul>
|
54
54
|
<ul class="nav navbar-nav navbar-right navbar-livereload" data-navbar="static">
|
55
55
|
<li>
|
56
|
-
<div class="poll-wrapper
|
56
|
+
<div class="poll-wrapper">
|
57
57
|
<%= erb :_poll_link %>
|
58
58
|
<% if Sidekiq::Web.app_url %>
|
59
59
|
<a class="btn btn-inverse" href="<%= Sidekiq::Web.app_url %>"><%= t('BackToApp') %></a>
|
data/web/views/_paging.erb
CHANGED
data/web/views/busy.erb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
<div class="row header">
|
2
|
-
<div class="col-sm-8 pull-left">
|
2
|
+
<div class="col-sm-8 pull-left flip">
|
3
3
|
<h3><%= t('Processes') %></h3>
|
4
4
|
</div>
|
5
|
-
<div class="col-sm-4 pull-right">
|
5
|
+
<div class="col-sm-4 pull-right flip">
|
6
6
|
<form method="POST" class="warning-messages">
|
7
7
|
<%= csrf_tag %>
|
8
|
-
<div class="btn-group pull-right">
|
8
|
+
<div class="btn-group pull-right flip">
|
9
9
|
<button class="btn btn-warn" type="submit" name="quiet" value="1" data-confirm="<%= t('AreYouSure') %>"><%= t('QuietAll') %></button>
|
10
10
|
<button class="btn btn-danger" type="submit" name="stop" value="1" data-confirm="<%= t('AreYouSure') %>"><%= t('StopAll') %></button>
|
11
11
|
</div>
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<td><%= process['concurrency'] %></td>
|
42
42
|
<td><%= process['busy'] %></td>
|
43
43
|
<td>
|
44
|
-
<div class="btn-group pull-right">
|
44
|
+
<div class="btn-group pull-right flip">
|
45
45
|
<form method="POST">
|
46
46
|
<%= csrf_tag %>
|
47
47
|
<input type="hidden" name="identity" value="<%= process['identity'] %>"/>
|
data/web/views/dashboard.erb
CHANGED
data/web/views/layout.erb
CHANGED
@@ -1,11 +1,20 @@
|
|
1
1
|
<!doctype html>
|
2
|
-
<html>
|
2
|
+
<html dir="<%= text_direction %>">
|
3
3
|
<head>
|
4
4
|
<title><%= environment_title_prefix %><%= Sidekiq::NAME %></title>
|
5
5
|
<meta charset="utf8" />
|
6
6
|
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
7
|
+
|
7
8
|
<link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
|
9
|
+
<% if rtl? %>
|
10
|
+
<link href="<%= root_path %>stylesheets/bootstrap-rtl.min.css" media="screen" rel="stylesheet" type="text/css"/>
|
11
|
+
<% end %>
|
12
|
+
|
8
13
|
<link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
|
14
|
+
<% if rtl? %>
|
15
|
+
<link href="<%= root_path %>stylesheets/application-rtl.css" media="screen" rel="stylesheet" type="text/css" />
|
16
|
+
<% end %>
|
17
|
+
|
9
18
|
<link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
|
10
19
|
<script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
|
11
20
|
<meta name="google" content="notranslate" />
|
data/web/views/morgue.erb
CHANGED
@@ -55,18 +55,18 @@
|
|
55
55
|
<% end %>
|
56
56
|
</table>
|
57
57
|
</div>
|
58
|
-
<input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
59
|
-
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
|
58
|
+
<input class="btn btn-primary btn-xs pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
59
|
+
<input class="btn btn-danger btn-xs pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
60
60
|
</form>
|
61
61
|
|
62
62
|
<% unfiltered? do %>
|
63
63
|
<form action="<%= root_path %>morgue/all/delete" method="post">
|
64
64
|
<%= csrf_tag %>
|
65
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
65
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
66
66
|
</form>
|
67
67
|
<form action="<%= root_path %>morgue/all/retry" method="post">
|
68
68
|
<%= csrf_tag %>
|
69
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
69
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
70
70
|
</form>
|
71
71
|
<% end %>
|
72
72
|
|
data/web/views/queue.erb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<% end %>
|
8
8
|
</h3>
|
9
9
|
</div>
|
10
|
-
<div class="col-sm-4 pull-right">
|
10
|
+
<div class="col-sm-4 pull-right flip">
|
11
11
|
<%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
|
12
12
|
</div>
|
13
13
|
</header>
|
@@ -22,19 +22,19 @@
|
|
22
22
|
<tr>
|
23
23
|
<td><%= h(msg.display_class) %></td>
|
24
24
|
<td>
|
25
|
-
<% a = msg.display_args
|
26
|
-
<% if a.size > 100 %>
|
27
|
-
<span class="worker_<%= index %>"><%= h(
|
25
|
+
<% a = msg.display_args %>
|
26
|
+
<% if a.inspect.size > 100 %>
|
27
|
+
<span class="worker_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
|
28
28
|
<button data-toggle="collapse" data-target=".worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
|
29
|
-
<div class="toggle worker_<%= index %>"><%=
|
29
|
+
<div class="toggle worker_<%= index %>"><%= display_args(a) %></div>
|
30
30
|
<% else %>
|
31
|
-
<%=
|
31
|
+
<%= display_args(msg.display_args) %>
|
32
32
|
<% end %>
|
33
33
|
</td>
|
34
34
|
<td>
|
35
35
|
<form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
|
36
36
|
<%= csrf_tag %>
|
37
|
-
<input name="key_val" value="<%= h
|
37
|
+
<input name="key_val" value="<%= h msg.value %>" type="hidden" />
|
38
38
|
<input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
|
39
39
|
</form>
|
40
40
|
</td>
|
data/web/views/retries.erb
CHANGED
@@ -55,19 +55,19 @@
|
|
55
55
|
<% end %>
|
56
56
|
</table>
|
57
57
|
</div>
|
58
|
-
<input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
59
|
-
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
|
60
|
-
<input class="btn btn-danger btn-xs pull-left" type="submit" name="kill" value="<%= t('Kill') %>" />
|
58
|
+
<input class="btn btn-primary btn-xs pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
|
59
|
+
<input class="btn btn-danger btn-xs pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
60
|
+
<input class="btn btn-danger btn-xs pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
|
61
61
|
</form>
|
62
62
|
|
63
63
|
<% unfiltered? do %>
|
64
64
|
<form action="<%= root_path %>retries/all/delete" method="post">
|
65
65
|
<%= csrf_tag %>
|
66
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
66
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
67
67
|
</form>
|
68
68
|
<form action="<%= root_path %>retries/all/retry" method="post">
|
69
69
|
<%= csrf_tag %>
|
70
|
-
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
70
|
+
<input class="btn btn-danger btn-xs pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
|
71
71
|
</form>
|
72
72
|
<% end %>
|
73
73
|
|
data/web/views/scheduled.erb
CHANGED
@@ -46,8 +46,8 @@
|
|
46
46
|
<% end %>
|
47
47
|
</table>
|
48
48
|
</div>
|
49
|
-
<input class="btn btn-danger pull-right" type="submit" name="delete" value="<%= t('Delete') %>" />
|
50
|
-
<input class="btn btn-danger pull-right" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
|
49
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('Delete') %>" />
|
50
|
+
<input class="btn btn-danger pull-right flip" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
|
51
51
|
</form>
|
52
52
|
<% else %>
|
53
53
|
<div class="alert alert-success"><%= t('NoScheduledFound') %></div>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Perham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 3.
|
22
|
+
version: 3.3.3
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '3.
|
29
|
+
version: '3.3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.
|
32
|
+
version: 3.3.3
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: connection_pool
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- ".travis.yml"
|
232
232
|
- 3.0-Upgrade.md
|
233
233
|
- 4.0-Upgrade.md
|
234
|
+
- 5.0-Upgrade.md
|
234
235
|
- COMM-LICENSE
|
235
236
|
- Changes.md
|
236
237
|
- Ent-Changes.md
|
@@ -254,20 +255,21 @@ files:
|
|
254
255
|
- lib/sidekiq/cli.rb
|
255
256
|
- lib/sidekiq/client.rb
|
256
257
|
- lib/sidekiq/core_ext.rb
|
258
|
+
- lib/sidekiq/delay.rb
|
257
259
|
- lib/sidekiq/exception_handler.rb
|
258
260
|
- lib/sidekiq/extensions/action_mailer.rb
|
259
261
|
- lib/sidekiq/extensions/active_record.rb
|
260
262
|
- lib/sidekiq/extensions/class_methods.rb
|
261
263
|
- lib/sidekiq/extensions/generic_proxy.rb
|
262
264
|
- lib/sidekiq/fetch.rb
|
265
|
+
- lib/sidekiq/job_logger.rb
|
266
|
+
- lib/sidekiq/job_retry.rb
|
263
267
|
- lib/sidekiq/launcher.rb
|
264
268
|
- lib/sidekiq/logging.rb
|
265
269
|
- lib/sidekiq/manager.rb
|
266
270
|
- lib/sidekiq/middleware/chain.rb
|
267
271
|
- lib/sidekiq/middleware/i18n.rb
|
268
272
|
- lib/sidekiq/middleware/server/active_record.rb
|
269
|
-
- lib/sidekiq/middleware/server/logging.rb
|
270
|
-
- lib/sidekiq/middleware/server/retry_jobs.rb
|
271
273
|
- lib/sidekiq/paginator.rb
|
272
274
|
- lib/sidekiq/processor.rb
|
273
275
|
- lib/sidekiq/rails.rb
|
@@ -289,8 +291,11 @@ files:
|
|
289
291
|
- web/assets/images/status.png
|
290
292
|
- web/assets/javascripts/application.js
|
291
293
|
- web/assets/javascripts/dashboard.js
|
294
|
+
- web/assets/stylesheets/application-rtl.css
|
292
295
|
- web/assets/stylesheets/application.css
|
296
|
+
- web/assets/stylesheets/bootstrap-rtl.min.css
|
293
297
|
- web/assets/stylesheets/bootstrap.css
|
298
|
+
- web/locales/ar.yml
|
294
299
|
- web/locales/cs.yml
|
295
300
|
- web/locales/da.yml
|
296
301
|
- web/locales/de.yml
|
@@ -299,6 +304,7 @@ files:
|
|
299
304
|
- web/locales/es.yml
|
300
305
|
- web/locales/fa.yml
|
301
306
|
- web/locales/fr.yml
|
307
|
+
- web/locales/he.yml
|
302
308
|
- web/locales/hi.yml
|
303
309
|
- web/locales/it.yml
|
304
310
|
- web/locales/ja.yml
|
@@ -312,6 +318,7 @@ files:
|
|
312
318
|
- web/locales/sv.yml
|
313
319
|
- web/locales/ta.yml
|
314
320
|
- web/locales/uk.yml
|
321
|
+
- web/locales/ur.yml
|
315
322
|
- web/locales/zh-cn.yml
|
316
323
|
- web/locales/zh-tw.yml
|
317
324
|
- web/views/_footer.erb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module Sidekiq
|
2
|
-
module Middleware
|
3
|
-
module Server
|
4
|
-
class Logging
|
5
|
-
|
6
|
-
def call(worker, item, queue)
|
7
|
-
begin
|
8
|
-
start = Time.now
|
9
|
-
logger.info("start".freeze)
|
10
|
-
yield
|
11
|
-
logger.info("done: #{elapsed(start)} sec")
|
12
|
-
rescue Exception
|
13
|
-
logger.info("fail: #{elapsed(start)} sec")
|
14
|
-
raise
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def elapsed(start)
|
21
|
-
(Time.now - start).round(3)
|
22
|
-
end
|
23
|
-
|
24
|
-
def logger
|
25
|
-
Sidekiq.logger
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|