sidekiq-undertaker 1.1.1 → 1.4.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 +4 -4
 - data/.github/workflows/ruby-build.yml +31 -3
 - data/.rubocop.yml +4 -0
 - data/.rubocop_codeclimate.yml +9 -0
 - data/CHANGELOG.md +19 -0
 - data/README.md +8 -6
 - data/assets/Undertaker_demo_1_job_1_error.png +0 -0
 - data/assets/Undertaker_demo_1_job_all_errors.png +0 -0
 - data/assets/Undertaker_demo_all_errors.png +0 -0
 - data/assets/Undertaker_demo_all_jobs.png +0 -0
 - data/assets/Undertaker_demo_all_jobs_1_error.png +0 -0
 - data/lib/sidekiq/undertaker/dead_job.rb +10 -2
 - data/lib/sidekiq/undertaker/job_distributor.rb +4 -0
 - data/lib/sidekiq/undertaker/job_filter.rb +7 -2
 - data/lib/sidekiq/undertaker/version.rb +1 -1
 - data/lib/sidekiq/undertaker/web_extension/api_helpers.rb +104 -26
 - data/lib/sidekiq/undertaker/web_extension.rb +17 -8
 - data/sidekiq-undertaker.gemspec +6 -5
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_filter_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +32 -18
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +37 -39
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +37 -39
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +231 -0
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +231 -0
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_all_failures_and_errors/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +26 -21
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +284 -0
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/with_pagination/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1310 -0
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +24 -19
 - data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/with_pagination/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +72 -67
 - data/spec/sidekiq/undertaker/dead_jobs_spec.rb +7 -4
 - data/spec/sidekiq/undertaker/job_distributor_spec.rb +41 -19
 - data/spec/sidekiq/undertaker/job_filter_spec.rb +26 -9
 - data/spec/sidekiq/undertaker/web_extension_spec.rb +172 -14
 - data/spec/spec_helper.rb +4 -0
 - data/web/locales/en.yml +2 -0
 - data/web/views/filter.erb +17 -1
 - data/web/views/filter_job_class.erb +8 -8
 - data/web/views/filter_job_class_error_class.erb +36 -0
 - data/web/views/morgue.erb +9 -2
 - metadata +38 -30
 - data/.travis.yml +0 -51
 - data/Demo_Filter.png +0 -0
 - data/Demo_Job_Filter.png +0 -0
 - data/Demo_Morgue_1_Job.png +0 -0
 - data/Demo_Morgue_all.png +0 -0
 
| 
         @@ -18,7 +18,7 @@ 
     | 
|
| 
       18 
18 
     | 
    
         
             
                <meta name="google" content="notranslate" />
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
              </head>
         
     | 
| 
       21 
     | 
    
         
            -
              <body class="admin" data- 
     | 
| 
      
 21 
     | 
    
         
            +
              <body class="admin" data-locale="en">
         
     | 
| 
       22 
22 
     | 
    
         
             
                <div class="navbar navbar-default navbar-fixed-top">
         
     | 
| 
       23 
23 
     | 
    
         
             
              <div class="container-fluid">
         
     | 
| 
       24 
24 
     | 
    
         
             
                <div class="navbar-header" data-navbar="static">
         
     | 
| 
         @@ -29,9 +29,8 @@ 
     | 
|
| 
       29 
29 
     | 
    
         
             
                  </button>
         
     | 
| 
       30 
30 
     | 
    
         
             
                  <div class="navbar-toggle collapsed navbar-livereload">
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                <a  
     | 
| 
       34 
     | 
    
         
            -
              
         
     | 
| 
      
 32 
     | 
    
         
            +
                <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
         
     | 
| 
      
 33 
     | 
    
         
            +
                <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
         
     | 
| 
       35 
34 
     | 
    
         | 
| 
       36 
35 
     | 
    
         | 
| 
       37 
36 
     | 
    
         | 
| 
         @@ -95,9 +94,8 @@ 
     | 
|
| 
       95 
94 
     | 
    
         
             
                    <li class="navbar-livereload">
         
     | 
| 
       96 
95 
     | 
    
         
             
                      <div class="poll-wrapper">
         
     | 
| 
       97 
96 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                <a  
     | 
| 
       100 
     | 
    
         
            -
              
         
     | 
| 
      
 97 
     | 
    
         
            +
                <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
         
     | 
| 
      
 98 
     | 
    
         
            +
                <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
         
     | 
| 
       101 
99 
     | 
    
         | 
| 
       102 
100 
     | 
    
         | 
| 
       103 
101 
     | 
    
         | 
| 
         @@ -114,40 +112,40 @@ 
     | 
|
| 
       114 
112 
     | 
    
         
             
                      <div class="col-sm-12 summary_bar">
         
     | 
| 
       115 
113 
     | 
    
         
             
                        <ul class="list-unstyled summary row">
         
     | 
| 
       116 
114 
     | 
    
         
             
              <li class="processed col-sm-1">
         
     | 
| 
       117 
     | 
    
         
            -
                <span class="count">0</span>
         
     | 
| 
      
 115 
     | 
    
         
            +
                <span id="txtProcessed" class="count">0</span>
         
     | 
| 
       118 
116 
     | 
    
         
             
                <span class="desc">Processed</span>
         
     | 
| 
       119 
117 
     | 
    
         
             
              </li>
         
     | 
| 
       120 
118 
     | 
    
         
             
              <li class="failed col-sm-1">
         
     | 
| 
       121 
     | 
    
         
            -
                <span class="count">0</span>
         
     | 
| 
      
 119 
     | 
    
         
            +
                <span id="txtFailed" class="count">0</span>
         
     | 
| 
       122 
120 
     | 
    
         
             
                <span class="desc">Failed</span>
         
     | 
| 
       123 
121 
     | 
    
         
             
              </li>
         
     | 
| 
       124 
122 
     | 
    
         
             
              <li class="busy col-sm-1">
         
     | 
| 
       125 
123 
     | 
    
         
             
                <a href="/sidekiq/busy">
         
     | 
| 
       126 
     | 
    
         
            -
                  <span class="count">0</span>
         
     | 
| 
      
 124 
     | 
    
         
            +
                  <span id="txtBusy" class="count">0</span>
         
     | 
| 
       127 
125 
     | 
    
         
             
                  <span class="desc">Busy</span>
         
     | 
| 
       128 
126 
     | 
    
         
             
                </a>
         
     | 
| 
       129 
127 
     | 
    
         
             
              </li>
         
     | 
| 
       130 
128 
     | 
    
         
             
              <li class="enqueued col-sm-1">
         
     | 
| 
       131 
129 
     | 
    
         
             
                <a href="/sidekiq/queues">
         
     | 
| 
       132 
     | 
    
         
            -
                  <span class="count">0</span>
         
     | 
| 
      
 130 
     | 
    
         
            +
                  <span id="txtEnqueued" class="count">0</span>
         
     | 
| 
       133 
131 
     | 
    
         
             
                  <span class="desc">Enqueued</span>
         
     | 
| 
       134 
132 
     | 
    
         
             
                </a>
         
     | 
| 
       135 
133 
     | 
    
         
             
              </li>
         
     | 
| 
       136 
134 
     | 
    
         
             
              <li class="retries col-sm-1">
         
     | 
| 
       137 
135 
     | 
    
         
             
                <a href="/sidekiq/retries">
         
     | 
| 
       138 
     | 
    
         
            -
                  <span class="count">0</span>
         
     | 
| 
      
 136 
     | 
    
         
            +
                  <span id="txtRetries" class="count">0</span>
         
     | 
| 
       139 
137 
     | 
    
         
             
                  <span class="desc">Retries</span>
         
     | 
| 
       140 
138 
     | 
    
         
             
                </a>
         
     | 
| 
       141 
139 
     | 
    
         
             
              </li>
         
     | 
| 
       142 
140 
     | 
    
         
             
              <li class="scheduled col-sm-1">
         
     | 
| 
       143 
141 
     | 
    
         
             
                <a href="/sidekiq/scheduled">
         
     | 
| 
       144 
     | 
    
         
            -
                  <span class="count">0</span>
         
     | 
| 
      
 142 
     | 
    
         
            +
                  <span id="txtScheduled" class="count">0</span>
         
     | 
| 
       145 
143 
     | 
    
         
             
                  <span class="desc">Scheduled</span>
         
     | 
| 
       146 
144 
     | 
    
         
             
                </a>
         
     | 
| 
       147 
145 
     | 
    
         
             
              </li>
         
     | 
| 
       148 
146 
     | 
    
         
             
              <li class="dead col-sm-1">
         
     | 
| 
       149 
147 
     | 
    
         
             
                <a href="/sidekiq/morgue">
         
     | 
| 
       150 
     | 
    
         
            -
                  <span class="count">4</span>
         
     | 
| 
      
 148 
     | 
    
         
            +
                  <span id="txtDead" class="count">4</span>
         
     | 
| 
       151 
149 
     | 
    
         
             
                  <span class="desc">Dead</span>
         
     | 
| 
       152 
150 
     | 
    
         
             
                </a>
         
     | 
| 
       153 
151 
     | 
    
         
             
              </li>
         
     | 
| 
         @@ -162,6 +160,7 @@ 
     | 
|
| 
       162 
160 
     | 
    
         
             
                  <b>2</b> dead jobs
         
     | 
| 
       163 
161 
     | 
    
         
             
                   of <b>HardWorker</b> class
         
     | 
| 
       164 
162 
     | 
    
         
             
                   with <b>RuntimeError</b> exception
         
     | 
| 
      
 163 
     | 
    
         
            +
                  
         
     | 
| 
       165 
164 
     | 
    
         
             
                   in <b>1_hour</b> bucket
         
     | 
| 
       166 
165 
     | 
    
         
             
                </h3>
         
     | 
| 
       167 
166 
     | 
    
         
             
              </div>
         
     | 
| 
         @@ -209,7 +208,7 @@ 
     | 
|
| 
       209 
208 
     | 
    
         
             
                          <div class="args">"asdf", 1234</div>
         
     | 
| 
       210 
209 
     | 
    
         
             
                        </td>
         
     | 
| 
       211 
210 
     | 
    
         
             
                        <td>
         
     | 
| 
       212 
     | 
    
         
            -
                          <div>RuntimeError:  
     | 
| 
      
 211 
     | 
    
         
            +
                          <div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
         
     | 
| 
       213 
212 
     | 
    
         
             
                        </td>
         
     | 
| 
       214 
213 
     | 
    
         
             
                      </tr>
         
     | 
| 
       215 
214 
     | 
    
         | 
| 
         @@ -230,21 +229,27 @@ 
     | 
|
| 
       230 
229 
     | 
    
         
             
                          <div class="args">"asdf", 1234</div>
         
     | 
| 
       231 
230 
     | 
    
         
             
                        </td>
         
     | 
| 
       232 
231 
     | 
    
         
             
                        <td>
         
     | 
| 
       233 
     | 
    
         
            -
                          <div>RuntimeError:  
     | 
| 
      
 232 
     | 
    
         
            +
                          <div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
         
     | 
| 
       234 
233 
     | 
    
         
             
                        </td>
         
     | 
| 
       235 
234 
     | 
    
         
             
                      </tr>
         
     | 
| 
       236 
235 
     | 
    
         | 
| 
       237 
236 
     | 
    
         
             
                  </table>
         
     | 
| 
       238 
237 
     | 
    
         
             
                  <input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="Revive" />
         
     | 
| 
      
 238 
     | 
    
         
            +
                  <input class="btn btn-secondary btn-xs pull-left" type="submit" name="export" value="Export" />
         
     | 
| 
       239 
239 
     | 
    
         
             
                  <input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
         
     | 
| 
       240 
240 
     | 
    
         
             
                </form>
         
     | 
| 
       241 
241 
     | 
    
         | 
| 
       242 
     | 
    
         
            -
                <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/delete" method="post">
         
     | 
| 
      
 242 
     | 
    
         
            +
                <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/delete" method="post">
         
     | 
| 
       243 
243 
     | 
    
         
             
                  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
         
     | 
| 
       244 
244 
     | 
    
         
             
                  <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
         
     | 
| 
       245 
245 
     | 
    
         
             
                </form>
         
     | 
| 
       246 
246 
     | 
    
         | 
| 
       247 
     | 
    
         
            -
                <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/ 
     | 
| 
      
 247 
     | 
    
         
            +
                <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/export" method="post">
         
     | 
| 
      
 248 
     | 
    
         
            +
                  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
         
     | 
| 
      
 249 
     | 
    
         
            +
                  <input class="btn btn-secondary btn-xs pull-right" type="submit" name="export" value="Export All" />
         
     | 
| 
      
 250 
     | 
    
         
            +
                </form>
         
     | 
| 
      
 251 
     | 
    
         
            +
             
     | 
| 
      
 252 
     | 
    
         
            +
                <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/retry" method="post">
         
     | 
| 
       248 
253 
     | 
    
         
             
                  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
         
     | 
| 
       249 
254 
     | 
    
         
             
                  <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
         
     | 
| 
       250 
255 
     | 
    
         
             
                </form>
         
     | 
| 
         @@ -265,7 +270,7 @@ 
     | 
|
| 
       265 
270 
     | 
    
         
             
                        <p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
         
     | 
| 
       266 
271 
     | 
    
         
             
                      </li>
         
     | 
| 
       267 
272 
     | 
    
         
             
                      <li>
         
     | 
| 
       268 
     | 
    
         
            -
                        <p class="navbar-text server-utc-time">20:57:00 UTC</p>
         
     | 
| 
      
 273 
     | 
    
         
            +
                        <p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
         
     | 
| 
       269 
274 
     | 
    
         
             
                      </li>
         
     | 
| 
       270 
275 
     | 
    
         
             
                      <li>
         
     | 
| 
       271 
276 
     | 
    
         
             
                        <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
         
     |