sidekiq 4.2.4 → 6.4.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.

Files changed (143) hide show
  1. checksums.yaml +5 -5
  2. data/Changes.md +523 -0
  3. data/LICENSE +3 -3
  4. data/README.md +23 -36
  5. data/bin/sidekiq +26 -2
  6. data/bin/sidekiqload +28 -38
  7. data/bin/sidekiqmon +8 -0
  8. data/lib/generators/sidekiq/job_generator.rb +57 -0
  9. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  10. data/lib/generators/sidekiq/templates/job_spec.rb.erb +6 -0
  11. data/lib/generators/sidekiq/templates/job_test.rb.erb +8 -0
  12. data/lib/sidekiq/api.rb +403 -243
  13. data/lib/sidekiq/cli.rb +230 -211
  14. data/lib/sidekiq/client.rb +53 -64
  15. data/lib/sidekiq/delay.rb +43 -0
  16. data/lib/sidekiq/exception_handler.rb +12 -16
  17. data/lib/sidekiq/extensions/action_mailer.rb +15 -24
  18. data/lib/sidekiq/extensions/active_record.rb +15 -12
  19. data/lib/sidekiq/extensions/class_methods.rb +16 -13
  20. data/lib/sidekiq/extensions/generic_proxy.rb +14 -6
  21. data/lib/sidekiq/fetch.rb +39 -31
  22. data/lib/sidekiq/job.rb +13 -0
  23. data/lib/sidekiq/job_logger.rb +63 -0
  24. data/lib/sidekiq/job_retry.rb +261 -0
  25. data/lib/sidekiq/job_util.rb +65 -0
  26. data/lib/sidekiq/launcher.rb +170 -71
  27. data/lib/sidekiq/logger.rb +166 -0
  28. data/lib/sidekiq/manager.rb +21 -26
  29. data/lib/sidekiq/middleware/chain.rb +20 -8
  30. data/lib/sidekiq/middleware/current_attributes.rb +57 -0
  31. data/lib/sidekiq/middleware/i18n.rb +5 -7
  32. data/lib/sidekiq/monitor.rb +133 -0
  33. data/lib/sidekiq/paginator.rb +18 -14
  34. data/lib/sidekiq/processor.rb +161 -70
  35. data/lib/sidekiq/rails.rb +41 -73
  36. data/lib/sidekiq/redis_connection.rb +65 -20
  37. data/lib/sidekiq/scheduled.rb +95 -34
  38. data/lib/sidekiq/sd_notify.rb +149 -0
  39. data/lib/sidekiq/systemd.rb +24 -0
  40. data/lib/sidekiq/testing/inline.rb +2 -1
  41. data/lib/sidekiq/testing.rb +52 -26
  42. data/lib/sidekiq/util.rb +60 -14
  43. data/lib/sidekiq/version.rb +2 -1
  44. data/lib/sidekiq/web/action.rb +15 -15
  45. data/lib/sidekiq/web/application.rb +115 -89
  46. data/lib/sidekiq/web/csrf_protection.rb +180 -0
  47. data/lib/sidekiq/web/helpers.rb +151 -83
  48. data/lib/sidekiq/web/router.rb +27 -19
  49. data/lib/sidekiq/web.rb +65 -109
  50. data/lib/sidekiq/worker.rb +284 -41
  51. data/lib/sidekiq.rb +93 -60
  52. data/sidekiq.gemspec +24 -22
  53. data/web/assets/images/apple-touch-icon.png +0 -0
  54. data/web/assets/javascripts/application.js +83 -64
  55. data/web/assets/javascripts/dashboard.js +81 -85
  56. data/web/assets/stylesheets/application-dark.css +143 -0
  57. data/web/assets/stylesheets/application-rtl.css +242 -0
  58. data/web/assets/stylesheets/application.css +319 -143
  59. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  60. data/web/assets/stylesheets/bootstrap.css +2 -2
  61. data/web/locales/ar.yml +87 -0
  62. data/web/locales/de.yml +14 -2
  63. data/web/locales/en.yml +8 -1
  64. data/web/locales/es.yml +22 -5
  65. data/web/locales/fa.yml +80 -0
  66. data/web/locales/fr.yml +10 -3
  67. data/web/locales/he.yml +79 -0
  68. data/web/locales/ja.yml +12 -4
  69. data/web/locales/lt.yml +83 -0
  70. data/web/locales/pl.yml +4 -4
  71. data/web/locales/ru.yml +4 -0
  72. data/web/locales/ur.yml +80 -0
  73. data/web/locales/vi.yml +83 -0
  74. data/web/views/_footer.erb +5 -2
  75. data/web/views/_job_info.erb +4 -3
  76. data/web/views/_nav.erb +4 -18
  77. data/web/views/_paging.erb +1 -1
  78. data/web/views/_poll_link.erb +2 -5
  79. data/web/views/_summary.erb +7 -7
  80. data/web/views/busy.erb +60 -22
  81. data/web/views/dashboard.erb +23 -15
  82. data/web/views/dead.erb +3 -3
  83. data/web/views/layout.erb +14 -3
  84. data/web/views/morgue.erb +19 -12
  85. data/web/views/queue.erb +24 -14
  86. data/web/views/queues.erb +14 -4
  87. data/web/views/retries.erb +22 -13
  88. data/web/views/retry.erb +4 -4
  89. data/web/views/scheduled.erb +7 -4
  90. metadata +49 -198
  91. data/.github/contributing.md +0 -32
  92. data/.github/issue_template.md +0 -4
  93. data/.gitignore +0 -12
  94. data/.travis.yml +0 -12
  95. data/3.0-Upgrade.md +0 -70
  96. data/4.0-Upgrade.md +0 -53
  97. data/COMM-LICENSE +0 -95
  98. data/Ent-Changes.md +0 -146
  99. data/Gemfile +0 -29
  100. data/Pro-2.0-Upgrade.md +0 -138
  101. data/Pro-3.0-Upgrade.md +0 -44
  102. data/Pro-Changes.md +0 -585
  103. data/Rakefile +0 -9
  104. data/bin/sidekiqctl +0 -99
  105. data/code_of_conduct.md +0 -50
  106. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +0 -6
  107. data/lib/generators/sidekiq/templates/worker_test.rb.erb +0 -8
  108. data/lib/generators/sidekiq/worker_generator.rb +0 -49
  109. data/lib/sidekiq/core_ext.rb +0 -106
  110. data/lib/sidekiq/logging.rb +0 -106
  111. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  112. data/lib/sidekiq/middleware/server/logging.rb +0 -40
  113. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
  114. data/test/config.yml +0 -9
  115. data/test/env_based_config.yml +0 -11
  116. data/test/fake_env.rb +0 -1
  117. data/test/fixtures/en.yml +0 -2
  118. data/test/helper.rb +0 -75
  119. data/test/test_actors.rb +0 -138
  120. data/test/test_api.rb +0 -528
  121. data/test/test_cli.rb +0 -418
  122. data/test/test_client.rb +0 -266
  123. data/test/test_exception_handler.rb +0 -56
  124. data/test/test_extensions.rb +0 -127
  125. data/test/test_fetch.rb +0 -50
  126. data/test/test_launcher.rb +0 -95
  127. data/test/test_logging.rb +0 -35
  128. data/test/test_manager.rb +0 -50
  129. data/test/test_middleware.rb +0 -158
  130. data/test/test_processor.rb +0 -235
  131. data/test/test_rails.rb +0 -22
  132. data/test/test_redis_connection.rb +0 -132
  133. data/test/test_retry.rb +0 -326
  134. data/test/test_retry_exhausted.rb +0 -149
  135. data/test/test_scheduled.rb +0 -115
  136. data/test/test_scheduling.rb +0 -58
  137. data/test/test_sidekiq.rb +0 -107
  138. data/test/test_testing.rb +0 -143
  139. data/test/test_testing_fake.rb +0 -357
  140. data/test/test_testing_inline.rb +0 -94
  141. data/test/test_util.rb +0 -13
  142. data/test/test_web.rb +0 -726
  143. data/test/test_web_helpers.rb +0 -54
data/web/views/queue.erb CHANGED
@@ -5,36 +5,46 @@
5
5
  <% if @queue.paused? %>
6
6
  <span class="label label-danger"><%= t('Paused') %></span>
7
7
  <% end %>
8
+ <span class="badge badge-secondary"><%= number_with_delimiter(@total_size) %></span>
8
9
  </h3>
9
10
  </div>
10
- <div class="col-sm-4 pull-right">
11
- <%= erb :_paging, locals: { url: "#{root_path}queues/#{@name}" } %>
11
+ <div class="col-sm-4 pull-right flip">
12
+ <%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
12
13
  </div>
13
14
  </header>
14
15
  <div class="table_container">
15
16
  <table class="queue table table-hover table-bordered table-striped">
16
17
  <thead>
18
+ <th><a href="<%= url %>?direction=<%= params[:direction] == 'asc' ? 'desc' : 'asc' %>"># <%= sort_direction_label %></a></th>
17
19
  <th><%= t('Job') %></th>
18
20
  <th><%= t('Arguments') %></th>
19
21
  <th></th>
20
22
  </thead>
21
- <% @messages.each_with_index do |msg, index| %>
22
- <tr>
23
- <td><%= h(msg.display_class) %></td>
23
+ <% @jobs.each_with_index do |job, index| %>
24
+ <tr title="<%= job.jid %>">
25
+ <% if params[:direction] == 'asc' %>
26
+ <td><%= @count * (@current_page - 1) + index + 1 %></td>
27
+ <% else %>
28
+ <td><%= @total_size - (@count * (@current_page - 1) + index) %></td>
29
+ <% end %>
24
30
  <td>
25
- <% a = msg.display_args.inspect %>
26
- <% if a.size > 100 %>
27
- <%= h(msg.display_args.inspect[0..100]) + "... " %>
28
- <button data-toggle="collapse" data-target="#worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
29
- <div class="toggle" id="worker_<%= index %>"><%= h(msg.display_args) %></div>
31
+ <%= h(job.display_class) %>
32
+ <%= display_tags(job, nil) %>
33
+ </td>
34
+ <td>
35
+ <% a = job.display_args %>
36
+ <% if a.inspect.size > 100 %>
37
+ <span id="job_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
38
+ <button data-toggle="job_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
39
+ <div class="toggle" id="job_<%= index %>_full"><%= display_args(a) %></div>
30
40
  <% else %>
31
- <%= h(msg.display_args) %>
41
+ <%= display_args(job.display_args) %>
32
42
  <% end %>
33
43
  </td>
34
44
  <td>
35
- <form action="<%= root_path %>queues/<%= @name %>/delete" method="post">
45
+ <form action="<%= root_path %>queues/<%= CGI.escape(@name) %>/delete" method="post">
36
46
  <%= csrf_tag %>
37
- <input name="key_val" value="<%= h Sidekiq.dump_json(msg.item) %>" type="hidden" />
47
+ <input name="key_val" value="<%= h job.value %>" type="hidden" />
38
48
  <input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
39
49
  </form>
40
50
  </td>
@@ -42,4 +52,4 @@
42
52
  <% end %>
43
53
  </table>
44
54
  </div>
45
- <%= erb :_paging, locals: { url: "#{root_path}queues/#{@name}" } %>
55
+ <%= erb :_paging, locals: { url: "#{root_path}queues/#{CGI.escape(@name)}" } %>
data/web/views/queues.erb CHANGED
@@ -1,25 +1,35 @@
1
1
  <h3><%= t('Queues') %></h3>
2
2
 
3
3
  <div class="table_container">
4
- <table class="queues table table-hover table-bordered table-striped table-white">
4
+ <table class="queues table table-hover table-bordered table-striped">
5
5
  <thead>
6
6
  <th><%= t('Queue') %></th>
7
7
  <th><%= t('Size') %></th>
8
+ <th><%= t('Latency') %></th>
8
9
  <th><%= t('Actions') %></th>
9
10
  </thead>
10
11
  <% @queues.each do |queue| %>
11
12
  <tr>
12
13
  <td>
13
- <a href="<%= root_path %>queues/<%= queue.name %>"><%= queue.name %></a>
14
+ <a href="<%= root_path %>queues/<%= CGI.escape(queue.name) %>"><%= h queue.name %></a>
14
15
  <% if queue.paused? %>
15
16
  <span class="label label-danger"><%= t('Paused') %></span>
16
17
  <% end %>
17
18
  </td>
18
19
  <td><%= number_with_delimiter(queue.size) %> </td>
20
+ <td><% queue_latency = queue.latency %><%= number_with_delimiter(queue_latency.round(2)) %><%= (queue_latency < 60) ? '' : " (#{relative_time(Time.at(Time.now.to_f - queue_latency))})" %> </td>
19
21
  <td class="delete-confirm">
20
- <form action="<%=root_path %>queues/<%= queue.name %>" method="post">
22
+ <form action="<%=root_path %>queues/<%= CGI.escape(queue.name) %>" method="post">
21
23
  <%= csrf_tag %>
22
- <input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
24
+ <input class="btn btn-danger" type="submit" name="delete" title="This will delete all jobs within the queue, it will reappear if you push more jobs to it in the future." value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => h(queue.name)) %>" />
25
+
26
+ <% if Sidekiq.pro? %>
27
+ <% if queue.paused? %>
28
+ <input class="btn btn-danger" type="submit" name="unpause" value="<%= t('Unpause') %>" />
29
+ <% else %>
30
+ <input class="btn btn-danger" type="submit" name="pause" value="<%= t('Pause') %>" />
31
+ <% end %>
32
+ <% end %>
23
33
  </form>
24
34
  </td>
25
35
  </tr>
@@ -14,7 +14,7 @@
14
14
  <form action="<%= root_path %>retries" method="post">
15
15
  <%= csrf_tag %>
16
16
  <div class="table_container">
17
- <table class="table table-striped table-bordered table-white">
17
+ <table class="table table-striped table-bordered table-hover">
18
18
  <thead>
19
19
  <tr>
20
20
  <th class="table-checkbox checkbox-column">
@@ -44,7 +44,10 @@
44
44
  <td>
45
45
  <a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
46
46
  </td>
47
- <td><%= entry.display_class %></td>
47
+ <td>
48
+ <%= entry.display_class %>
49
+ <%= display_tags(entry, "retries") %>
50
+ </td>
48
51
  <td>
49
52
  <div class="args"><%= display_args(entry.display_args) %></div>
50
53
  </td>
@@ -55,19 +58,25 @@
55
58
  <% end %>
56
59
  </table>
57
60
  </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') %>" />
61
+ <input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
62
+ <input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
63
+ <input class="btn btn-danger pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
61
64
  </form>
62
65
 
63
- <form action="<%= root_path %>retries/all/delete" method="post">
64
- <%= csrf_tag %>
65
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
66
- </form>
67
- <form action="<%= root_path %>retries/all/retry" method="post">
68
- <%= csrf_tag %>
69
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
70
- </form>
66
+ <% unfiltered? do %>
67
+ <form action="<%= root_path %>retries/all/delete" method="post">
68
+ <%= csrf_tag %>
69
+ <input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
70
+ </form>
71
+ <form action="<%= root_path %>retries/all/retry" method="post">
72
+ <%= csrf_tag %>
73
+ <input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
74
+ </form>
75
+ <form action="<%= root_path %>retries/all/kill" method="post">
76
+ <%= csrf_tag %>
77
+ <input class="btn btn-danger pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
78
+ </form>
79
+ <% end %>
71
80
 
72
81
  <% else %>
73
82
  <div class="alert alert-success"><%= t('NoRetriesFound') %></div>
data/web/views/retry.erb CHANGED
@@ -2,23 +2,23 @@
2
2
 
3
3
  <h3><%= t('Error') %></h3>
4
4
  <div class="table_container">
5
- <table class="error table table-bordered table-striped">
5
+ <table class="error table table-bordered table-striped table-hover">
6
6
  <tbody>
7
7
  <tr>
8
8
  <th><%= t('ErrorClass') %></th>
9
9
  <td>
10
- <code><%= h @retry.display_class %></code>
10
+ <code><%= h @retry['error_class'] %></code>
11
11
  </td>
12
12
  </tr>
13
13
  <tr>
14
14
  <th><%= t('ErrorMessage') %></th>
15
15
  <td><%= h(@retry['error_message']) %></td>
16
16
  </tr>
17
- <% if !@retry['error_backtrace'].nil? %>
17
+ <% if @retry.error_backtrace %>
18
18
  <tr>
19
19
  <th><%= t('ErrorBacktrace') %></th>
20
20
  <td>
21
- <code><%= @retry['error_backtrace'].join("<br/>") %></code>
21
+ <code><%= @retry.error_backtrace.join("<br/>") %></code>
22
22
  </td>
23
23
  </tr>
24
24
  <% end %>
@@ -15,7 +15,7 @@
15
15
  <form action="<%= root_path %>scheduled" method="post">
16
16
  <%= csrf_tag %>
17
17
  <div class="table_container">
18
- <table class="table table-striped table-bordered table-white">
18
+ <table class="table table-striped table-bordered table-hover">
19
19
  <thead>
20
20
  <tr>
21
21
  <th class="checkbox-column">
@@ -38,7 +38,10 @@
38
38
  <td>
39
39
  <a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
40
40
  </td>
41
- <td><%= entry.display_class %></td>
41
+ <td>
42
+ <%= entry.display_class %>
43
+ <%= display_tags(entry, "scheduled") %>
44
+ </td>
42
45
  <td>
43
46
  <div class="args"><%= display_args(entry.display_args) %></div>
44
47
  </td>
@@ -46,8 +49,8 @@
46
49
  <% end %>
47
50
  </table>
48
51
  </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') %>" />
52
+ <input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('Delete') %>" />
53
+ <input class="btn btn-danger pull-right flip" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
51
54
  </form>
52
55
  <% else %>
53
56
  <div class="alert alert-success"><%= t('NoScheduledFound') %></div>
metadata CHANGED
@@ -1,208 +1,105 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.4
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-01 00:00:00.000000000 Z
11
+ date: 2022-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.2'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 3.2.1
19
+ version: 4.2.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.2'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 3.2.1
26
+ version: 4.2.0
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: connection_pool
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '2.2'
40
31
  - - ">="
41
32
  - !ruby/object:Gem::Version
42
- version: 2.2.0
33
+ version: 2.2.2
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '2.2'
50
38
  - - ">="
51
39
  - !ruby/object:Gem::Version
52
- version: 2.2.0
40
+ version: 2.2.2
53
41
  - !ruby/object:Gem::Dependency
54
- name: concurrent-ruby
42
+ name: rack
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
45
  - - "~>"
58
46
  - !ruby/object:Gem::Version
59
- version: '1.0'
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '1.0'
67
- - !ruby/object:Gem::Dependency
68
- name: rack-protection
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 1.5.0
47
+ version: '2.0'
74
48
  type: :runtime
75
49
  prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 1.5.0
81
- - !ruby/object:Gem::Dependency
82
- name: redis-namespace
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '1.5'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 1.5.2
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '1.5'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 1.5.2
101
- - !ruby/object:Gem::Dependency
102
- name: minitest
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '5.7'
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 5.7.0
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '5.7'
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: 5.7.0
121
- - !ruby/object:Gem::Dependency
122
- name: rake
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: '10.0'
128
- type: :development
129
- prerelease: false
130
50
  version_requirements: !ruby/object:Gem::Requirement
131
51
  requirements:
132
52
  - - "~>"
133
53
  - !ruby/object:Gem::Version
134
- version: '10.0'
135
- - !ruby/object:Gem::Dependency
136
- name: rails
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- version: 3.2.0
142
- type: :development
143
- prerelease: false
144
- version_requirements: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: 3.2.0
54
+ version: '2.0'
149
55
  description: Simple, efficient background processing for Ruby.
150
56
  email:
151
57
  - mperham@gmail.com
152
58
  executables:
153
59
  - sidekiq
154
- - sidekiqctl
60
+ - sidekiqmon
155
61
  extensions: []
156
62
  extra_rdoc_files: []
157
63
  files:
158
- - ".github/contributing.md"
159
- - ".github/issue_template.md"
160
- - ".gitignore"
161
- - ".travis.yml"
162
- - 3.0-Upgrade.md
163
- - 4.0-Upgrade.md
164
- - COMM-LICENSE
165
64
  - Changes.md
166
- - Ent-Changes.md
167
- - Gemfile
168
65
  - LICENSE
169
- - Pro-2.0-Upgrade.md
170
- - Pro-3.0-Upgrade.md
171
- - Pro-Changes.md
172
66
  - README.md
173
- - Rakefile
174
67
  - bin/sidekiq
175
- - bin/sidekiqctl
176
68
  - bin/sidekiqload
177
- - code_of_conduct.md
178
- - lib/generators/sidekiq/templates/worker.rb.erb
179
- - lib/generators/sidekiq/templates/worker_spec.rb.erb
180
- - lib/generators/sidekiq/templates/worker_test.rb.erb
181
- - lib/generators/sidekiq/worker_generator.rb
69
+ - bin/sidekiqmon
70
+ - lib/generators/sidekiq/job_generator.rb
71
+ - lib/generators/sidekiq/templates/job.rb.erb
72
+ - lib/generators/sidekiq/templates/job_spec.rb.erb
73
+ - lib/generators/sidekiq/templates/job_test.rb.erb
182
74
  - lib/sidekiq.rb
183
75
  - lib/sidekiq/api.rb
184
76
  - lib/sidekiq/cli.rb
185
77
  - lib/sidekiq/client.rb
186
- - lib/sidekiq/core_ext.rb
78
+ - lib/sidekiq/delay.rb
187
79
  - lib/sidekiq/exception_handler.rb
188
80
  - lib/sidekiq/extensions/action_mailer.rb
189
81
  - lib/sidekiq/extensions/active_record.rb
190
82
  - lib/sidekiq/extensions/class_methods.rb
191
83
  - lib/sidekiq/extensions/generic_proxy.rb
192
84
  - lib/sidekiq/fetch.rb
85
+ - lib/sidekiq/job.rb
86
+ - lib/sidekiq/job_logger.rb
87
+ - lib/sidekiq/job_retry.rb
88
+ - lib/sidekiq/job_util.rb
193
89
  - lib/sidekiq/launcher.rb
194
- - lib/sidekiq/logging.rb
90
+ - lib/sidekiq/logger.rb
195
91
  - lib/sidekiq/manager.rb
196
92
  - lib/sidekiq/middleware/chain.rb
93
+ - lib/sidekiq/middleware/current_attributes.rb
197
94
  - lib/sidekiq/middleware/i18n.rb
198
- - lib/sidekiq/middleware/server/active_record.rb
199
- - lib/sidekiq/middleware/server/logging.rb
200
- - lib/sidekiq/middleware/server/retry_jobs.rb
95
+ - lib/sidekiq/monitor.rb
201
96
  - lib/sidekiq/paginator.rb
202
97
  - lib/sidekiq/processor.rb
203
98
  - lib/sidekiq/rails.rb
204
99
  - lib/sidekiq/redis_connection.rb
205
100
  - lib/sidekiq/scheduled.rb
101
+ - lib/sidekiq/sd_notify.rb
102
+ - lib/sidekiq/systemd.rb
206
103
  - lib/sidekiq/testing.rb
207
104
  - lib/sidekiq/testing/inline.rb
208
105
  - lib/sidekiq/util.rb
@@ -210,58 +107,37 @@ files:
210
107
  - lib/sidekiq/web.rb
211
108
  - lib/sidekiq/web/action.rb
212
109
  - lib/sidekiq/web/application.rb
110
+ - lib/sidekiq/web/csrf_protection.rb
213
111
  - lib/sidekiq/web/helpers.rb
214
112
  - lib/sidekiq/web/router.rb
215
113
  - lib/sidekiq/worker.rb
216
114
  - sidekiq.gemspec
217
- - test/config.yml
218
- - test/env_based_config.yml
219
- - test/fake_env.rb
220
- - test/fixtures/en.yml
221
- - test/helper.rb
222
- - test/test_actors.rb
223
- - test/test_api.rb
224
- - test/test_cli.rb
225
- - test/test_client.rb
226
- - test/test_exception_handler.rb
227
- - test/test_extensions.rb
228
- - test/test_fetch.rb
229
- - test/test_launcher.rb
230
- - test/test_logging.rb
231
- - test/test_manager.rb
232
- - test/test_middleware.rb
233
- - test/test_processor.rb
234
- - test/test_rails.rb
235
- - test/test_redis_connection.rb
236
- - test/test_retry.rb
237
- - test/test_retry_exhausted.rb
238
- - test/test_scheduled.rb
239
- - test/test_scheduling.rb
240
- - test/test_sidekiq.rb
241
- - test/test_testing.rb
242
- - test/test_testing_fake.rb
243
- - test/test_testing_inline.rb
244
- - test/test_util.rb
245
- - test/test_web.rb
246
- - test/test_web_helpers.rb
115
+ - web/assets/images/apple-touch-icon.png
247
116
  - web/assets/images/favicon.ico
248
117
  - web/assets/images/logo.png
249
118
  - web/assets/images/status.png
250
119
  - web/assets/javascripts/application.js
251
120
  - web/assets/javascripts/dashboard.js
121
+ - web/assets/stylesheets/application-dark.css
122
+ - web/assets/stylesheets/application-rtl.css
252
123
  - web/assets/stylesheets/application.css
124
+ - web/assets/stylesheets/bootstrap-rtl.min.css
253
125
  - web/assets/stylesheets/bootstrap.css
126
+ - web/locales/ar.yml
254
127
  - web/locales/cs.yml
255
128
  - web/locales/da.yml
256
129
  - web/locales/de.yml
257
130
  - web/locales/el.yml
258
131
  - web/locales/en.yml
259
132
  - web/locales/es.yml
133
+ - web/locales/fa.yml
260
134
  - web/locales/fr.yml
135
+ - web/locales/he.yml
261
136
  - web/locales/hi.yml
262
137
  - web/locales/it.yml
263
138
  - web/locales/ja.yml
264
139
  - web/locales/ko.yml
140
+ - web/locales/lt.yml
265
141
  - web/locales/nb.yml
266
142
  - web/locales/nl.yml
267
143
  - web/locales/pl.yml
@@ -271,6 +147,8 @@ files:
271
147
  - web/locales/sv.yml
272
148
  - web/locales/ta.yml
273
149
  - web/locales/uk.yml
150
+ - web/locales/ur.yml
151
+ - web/locales/vi.yml
274
152
  - web/locales/zh-cn.yml
275
153
  - web/locales/zh-tw.yml
276
154
  - web/views/_footer.erb
@@ -291,11 +169,16 @@ files:
291
169
  - web/views/retry.erb
292
170
  - web/views/scheduled.erb
293
171
  - web/views/scheduled_job_info.erb
294
- homepage: http://sidekiq.org
172
+ homepage: https://sidekiq.org
295
173
  licenses:
296
174
  - LGPL-3.0
297
- metadata: {}
298
- post_install_message:
175
+ metadata:
176
+ homepage_uri: https://sidekiq.org
177
+ bug_tracker_uri: https://github.com/mperham/sidekiq/issues
178
+ documentation_uri: https://github.com/mperham/sidekiq/wiki
179
+ changelog_uri: https://github.com/mperham/sidekiq/blob/main/Changes.md
180
+ source_code_uri: https://github.com/mperham/sidekiq
181
+ post_install_message:
299
182
  rdoc_options: []
300
183
  require_paths:
301
184
  - lib
@@ -303,47 +186,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
186
  requirements:
304
187
  - - ">="
305
188
  - !ruby/object:Gem::Version
306
- version: '0'
189
+ version: 2.5.0
307
190
  required_rubygems_version: !ruby/object:Gem::Requirement
308
191
  requirements:
309
192
  - - ">="
310
193
  - !ruby/object:Gem::Version
311
194
  version: '0'
312
195
  requirements: []
313
- rubyforge_project:
314
- rubygems_version: 2.5.1
315
- signing_key:
196
+ rubygems_version: 3.1.4
197
+ signing_key:
316
198
  specification_version: 4
317
199
  summary: Simple, efficient background processing for Ruby
318
- test_files:
319
- - test/config.yml
320
- - test/env_based_config.yml
321
- - test/fake_env.rb
322
- - test/fixtures/en.yml
323
- - test/helper.rb
324
- - test/test_actors.rb
325
- - test/test_api.rb
326
- - test/test_cli.rb
327
- - test/test_client.rb
328
- - test/test_exception_handler.rb
329
- - test/test_extensions.rb
330
- - test/test_fetch.rb
331
- - test/test_launcher.rb
332
- - test/test_logging.rb
333
- - test/test_manager.rb
334
- - test/test_middleware.rb
335
- - test/test_processor.rb
336
- - test/test_rails.rb
337
- - test/test_redis_connection.rb
338
- - test/test_retry.rb
339
- - test/test_retry_exhausted.rb
340
- - test/test_scheduled.rb
341
- - test/test_scheduling.rb
342
- - test/test_sidekiq.rb
343
- - test/test_testing.rb
344
- - test/test_testing_fake.rb
345
- - test/test_testing_inline.rb
346
- - test/test_util.rb
347
- - test/test_web.rb
348
- - test/test_web_helpers.rb
349
- has_rdoc:
200
+ test_files: []
@@ -1,32 +0,0 @@
1
- # Contributing
2
-
3
- ## Issues
4
-
5
- When opening an issue:
6
-
7
- * include the full **backtrace** with your error
8
- * include your Sidekiq initializer
9
- * list versions you are using: Ruby, Rails, Sidekiq, OS, etc.
10
-
11
- It's always better to include more info rather than less.
12
-
13
- ## Code
14
-
15
- It's always best to open an issue before investing a lot of time into a
16
- fix or new functionality. Functionality must meet my design goals and
17
- vision for the project to be accepted; I would be happy to discuss how
18
- your idea can best fit into Sidekiq.
19
-
20
- ## Legal
21
-
22
- By submitting a Pull Request, you disavow any rights or claims to any changes
23
- submitted to the Sidekiq project and assign the copyright of
24
- those changes to Contributed Systems LLC.
25
-
26
- If you cannot or do not want to reassign those rights (your employment
27
- contract for your employer may not allow this), you should not submit a PR.
28
- Open an issue and someone else can do the work.
29
-
30
- This is a legal way of saying "If you submit a PR to us, that code becomes ours".
31
- 99.9% of the time that's what you intend anyways; we hope it doesn't scare you
32
- away from contributing.
@@ -1,4 +0,0 @@
1
- Ruby version:
2
- Sidekiq / Pro / Enterprise version(s):
3
-
4
- If relevant, please include your initializer and any error message with the full backtrace.
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- .rvmrc
2
- .ruby-version
3
- tags
4
- Gemfile.lock
5
- *.swp
6
- dump.rdb
7
- .rbx
8
- coverage/
9
- vendor/
10
- .bundle/
11
- .sass-cache/
12
- tmp/
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- services:
5
- - redis-server
6
- before_install:
7
- - gem install bundler
8
- - gem update bundler
9
- rvm:
10
- - 2.2.4
11
- - 2.3.0
12
- - jruby-head