sidekiq 4.2.2 → 6.3.1

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.
Files changed (138) hide show
  1. checksums.yaml +5 -5
  2. data/Changes.md +516 -0
  3. data/LICENSE +2 -2
  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/templates/worker_spec.rb.erb +1 -1
  9. data/lib/generators/sidekiq/templates/worker_test.rb.erb +2 -2
  10. data/lib/generators/sidekiq/worker_generator.rb +21 -13
  11. data/lib/sidekiq/api.rb +401 -243
  12. data/lib/sidekiq/cli.rb +228 -212
  13. data/lib/sidekiq/client.rb +76 -53
  14. data/lib/sidekiq/delay.rb +41 -0
  15. data/lib/sidekiq/exception_handler.rb +12 -16
  16. data/lib/sidekiq/extensions/action_mailer.rb +13 -22
  17. data/lib/sidekiq/extensions/active_record.rb +13 -10
  18. data/lib/sidekiq/extensions/class_methods.rb +14 -11
  19. data/lib/sidekiq/extensions/generic_proxy.rb +12 -4
  20. data/lib/sidekiq/fetch.rb +39 -31
  21. data/lib/sidekiq/job.rb +13 -0
  22. data/lib/sidekiq/job_logger.rb +63 -0
  23. data/lib/sidekiq/job_retry.rb +259 -0
  24. data/lib/sidekiq/launcher.rb +170 -71
  25. data/lib/sidekiq/logger.rb +166 -0
  26. data/lib/sidekiq/manager.rb +17 -20
  27. data/lib/sidekiq/middleware/chain.rb +20 -8
  28. data/lib/sidekiq/middleware/current_attributes.rb +52 -0
  29. data/lib/sidekiq/middleware/i18n.rb +5 -7
  30. data/lib/sidekiq/monitor.rb +133 -0
  31. data/lib/sidekiq/paginator.rb +18 -14
  32. data/lib/sidekiq/processor.rb +169 -78
  33. data/lib/sidekiq/rails.rb +41 -36
  34. data/lib/sidekiq/redis_connection.rb +65 -20
  35. data/lib/sidekiq/scheduled.rb +85 -34
  36. data/lib/sidekiq/sd_notify.rb +149 -0
  37. data/lib/sidekiq/systemd.rb +24 -0
  38. data/lib/sidekiq/testing/inline.rb +2 -1
  39. data/lib/sidekiq/testing.rb +52 -26
  40. data/lib/sidekiq/util.rb +48 -15
  41. data/lib/sidekiq/version.rb +2 -1
  42. data/lib/sidekiq/web/action.rb +15 -17
  43. data/lib/sidekiq/web/application.rb +114 -92
  44. data/lib/sidekiq/web/csrf_protection.rb +180 -0
  45. data/lib/sidekiq/web/helpers.rb +151 -83
  46. data/lib/sidekiq/web/router.rb +27 -19
  47. data/lib/sidekiq/web.rb +85 -76
  48. data/lib/sidekiq/worker.rb +233 -43
  49. data/lib/sidekiq.rb +88 -64
  50. data/sidekiq.gemspec +24 -22
  51. data/web/assets/images/apple-touch-icon.png +0 -0
  52. data/web/assets/javascripts/application.js +86 -59
  53. data/web/assets/javascripts/dashboard.js +81 -85
  54. data/web/assets/stylesheets/application-dark.css +147 -0
  55. data/web/assets/stylesheets/application-rtl.css +242 -0
  56. data/web/assets/stylesheets/application.css +319 -141
  57. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  58. data/web/assets/stylesheets/bootstrap.css +2 -2
  59. data/web/locales/ar.yml +87 -0
  60. data/web/locales/de.yml +14 -2
  61. data/web/locales/en.yml +8 -1
  62. data/web/locales/es.yml +22 -5
  63. data/web/locales/fa.yml +80 -0
  64. data/web/locales/fr.yml +10 -3
  65. data/web/locales/he.yml +79 -0
  66. data/web/locales/ja.yml +12 -4
  67. data/web/locales/lt.yml +83 -0
  68. data/web/locales/pl.yml +4 -4
  69. data/web/locales/ru.yml +4 -0
  70. data/web/locales/ur.yml +80 -0
  71. data/web/locales/vi.yml +83 -0
  72. data/web/views/_footer.erb +5 -2
  73. data/web/views/_job_info.erb +4 -3
  74. data/web/views/_nav.erb +4 -18
  75. data/web/views/_paging.erb +1 -1
  76. data/web/views/_poll_link.erb +2 -5
  77. data/web/views/_summary.erb +7 -7
  78. data/web/views/busy.erb +60 -22
  79. data/web/views/dashboard.erb +23 -15
  80. data/web/views/dead.erb +3 -3
  81. data/web/views/layout.erb +14 -3
  82. data/web/views/morgue.erb +19 -12
  83. data/web/views/queue.erb +24 -14
  84. data/web/views/queues.erb +14 -4
  85. data/web/views/retries.erb +22 -13
  86. data/web/views/retry.erb +4 -4
  87. data/web/views/scheduled.erb +7 -4
  88. metadata +44 -194
  89. data/.github/contributing.md +0 -32
  90. data/.github/issue_template.md +0 -4
  91. data/.gitignore +0 -12
  92. data/.travis.yml +0 -12
  93. data/3.0-Upgrade.md +0 -70
  94. data/4.0-Upgrade.md +0 -53
  95. data/COMM-LICENSE +0 -95
  96. data/Ent-Changes.md +0 -146
  97. data/Gemfile +0 -29
  98. data/Pro-2.0-Upgrade.md +0 -138
  99. data/Pro-3.0-Upgrade.md +0 -44
  100. data/Pro-Changes.md +0 -570
  101. data/Rakefile +0 -9
  102. data/bin/sidekiqctl +0 -99
  103. data/code_of_conduct.md +0 -50
  104. data/lib/sidekiq/core_ext.rb +0 -106
  105. data/lib/sidekiq/logging.rb +0 -106
  106. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  107. data/lib/sidekiq/middleware/server/logging.rb +0 -40
  108. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
  109. data/test/config.yml +0 -9
  110. data/test/env_based_config.yml +0 -11
  111. data/test/fake_env.rb +0 -1
  112. data/test/fixtures/en.yml +0 -2
  113. data/test/helper.rb +0 -75
  114. data/test/test_actors.rb +0 -138
  115. data/test/test_api.rb +0 -528
  116. data/test/test_cli.rb +0 -418
  117. data/test/test_client.rb +0 -266
  118. data/test/test_exception_handler.rb +0 -56
  119. data/test/test_extensions.rb +0 -127
  120. data/test/test_fetch.rb +0 -50
  121. data/test/test_launcher.rb +0 -95
  122. data/test/test_logging.rb +0 -35
  123. data/test/test_manager.rb +0 -50
  124. data/test/test_middleware.rb +0 -158
  125. data/test/test_processor.rb +0 -201
  126. data/test/test_rails.rb +0 -22
  127. data/test/test_redis_connection.rb +0 -132
  128. data/test/test_retry.rb +0 -326
  129. data/test/test_retry_exhausted.rb +0 -149
  130. data/test/test_scheduled.rb +0 -115
  131. data/test/test_scheduling.rb +0 -50
  132. data/test/test_sidekiq.rb +0 -107
  133. data/test/test_testing.rb +0 -143
  134. data/test/test_testing_fake.rb +0 -357
  135. data/test/test_testing_inline.rb +0 -94
  136. data/test/test_util.rb +0 -13
  137. data/test/test_web.rb +0 -666
  138. 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,180 +1,72 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.2
4
+ version: 6.3.1
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-09-26 00:00:00.000000000 Z
11
+ date: 2021-11-07 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
53
- - !ruby/object:Gem::Dependency
54
- name: concurrent-ruby
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !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'
40
+ version: 2.2.2
67
41
  - !ruby/object:Gem::Dependency
68
- name: rack-protection
42
+ name: rack
69
43
  requirement: !ruby/object:Gem::Requirement
70
44
  requirements:
71
45
  - - "~>"
72
46
  - !ruby/object:Gem::Version
73
- version: '1.5'
47
+ version: '2.0'
74
48
  type: :runtime
75
49
  prerelease: false
76
50
  version_requirements: !ruby/object:Gem::Requirement
77
51
  requirements:
78
52
  - - "~>"
79
53
  - !ruby/object:Gem::Version
80
- version: '1.5'
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
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !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
69
+ - bin/sidekiqmon
178
70
  - lib/generators/sidekiq/templates/worker.rb.erb
179
71
  - lib/generators/sidekiq/templates/worker_spec.rb.erb
180
72
  - lib/generators/sidekiq/templates/worker_test.rb.erb
@@ -183,26 +75,30 @@ files:
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
193
88
  - lib/sidekiq/launcher.rb
194
- - lib/sidekiq/logging.rb
89
+ - lib/sidekiq/logger.rb
195
90
  - lib/sidekiq/manager.rb
196
91
  - lib/sidekiq/middleware/chain.rb
92
+ - lib/sidekiq/middleware/current_attributes.rb
197
93
  - 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
94
+ - lib/sidekiq/monitor.rb
201
95
  - lib/sidekiq/paginator.rb
202
96
  - lib/sidekiq/processor.rb
203
97
  - lib/sidekiq/rails.rb
204
98
  - lib/sidekiq/redis_connection.rb
205
99
  - lib/sidekiq/scheduled.rb
100
+ - lib/sidekiq/sd_notify.rb
101
+ - lib/sidekiq/systemd.rb
206
102
  - lib/sidekiq/testing.rb
207
103
  - lib/sidekiq/testing/inline.rb
208
104
  - lib/sidekiq/util.rb
@@ -210,58 +106,37 @@ files:
210
106
  - lib/sidekiq/web.rb
211
107
  - lib/sidekiq/web/action.rb
212
108
  - lib/sidekiq/web/application.rb
109
+ - lib/sidekiq/web/csrf_protection.rb
213
110
  - lib/sidekiq/web/helpers.rb
214
111
  - lib/sidekiq/web/router.rb
215
112
  - lib/sidekiq/worker.rb
216
113
  - 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
114
+ - web/assets/images/apple-touch-icon.png
247
115
  - web/assets/images/favicon.ico
248
116
  - web/assets/images/logo.png
249
117
  - web/assets/images/status.png
250
118
  - web/assets/javascripts/application.js
251
119
  - web/assets/javascripts/dashboard.js
120
+ - web/assets/stylesheets/application-dark.css
121
+ - web/assets/stylesheets/application-rtl.css
252
122
  - web/assets/stylesheets/application.css
123
+ - web/assets/stylesheets/bootstrap-rtl.min.css
253
124
  - web/assets/stylesheets/bootstrap.css
125
+ - web/locales/ar.yml
254
126
  - web/locales/cs.yml
255
127
  - web/locales/da.yml
256
128
  - web/locales/de.yml
257
129
  - web/locales/el.yml
258
130
  - web/locales/en.yml
259
131
  - web/locales/es.yml
132
+ - web/locales/fa.yml
260
133
  - web/locales/fr.yml
134
+ - web/locales/he.yml
261
135
  - web/locales/hi.yml
262
136
  - web/locales/it.yml
263
137
  - web/locales/ja.yml
264
138
  - web/locales/ko.yml
139
+ - web/locales/lt.yml
265
140
  - web/locales/nb.yml
266
141
  - web/locales/nl.yml
267
142
  - web/locales/pl.yml
@@ -271,6 +146,8 @@ files:
271
146
  - web/locales/sv.yml
272
147
  - web/locales/ta.yml
273
148
  - web/locales/uk.yml
149
+ - web/locales/ur.yml
150
+ - web/locales/vi.yml
274
151
  - web/locales/zh-cn.yml
275
152
  - web/locales/zh-tw.yml
276
153
  - web/views/_footer.erb
@@ -291,11 +168,16 @@ files:
291
168
  - web/views/retry.erb
292
169
  - web/views/scheduled.erb
293
170
  - web/views/scheduled_job_info.erb
294
- homepage: http://sidekiq.org
171
+ homepage: https://sidekiq.org
295
172
  licenses:
296
173
  - LGPL-3.0
297
- metadata: {}
298
- post_install_message:
174
+ metadata:
175
+ homepage_uri: https://sidekiq.org
176
+ bug_tracker_uri: https://github.com/mperham/sidekiq/issues
177
+ documentation_uri: https://github.com/mperham/sidekiq/wiki
178
+ changelog_uri: https://github.com/mperham/sidekiq/blob/main/Changes.md
179
+ source_code_uri: https://github.com/mperham/sidekiq
180
+ post_install_message:
299
181
  rdoc_options: []
300
182
  require_paths:
301
183
  - lib
@@ -303,47 +185,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
185
  requirements:
304
186
  - - ">="
305
187
  - !ruby/object:Gem::Version
306
- version: '0'
188
+ version: 2.5.0
307
189
  required_rubygems_version: !ruby/object:Gem::Requirement
308
190
  requirements:
309
191
  - - ">="
310
192
  - !ruby/object:Gem::Version
311
193
  version: '0'
312
194
  requirements: []
313
- rubyforge_project:
314
- rubygems_version: 2.5.1
315
- signing_key:
195
+ rubygems_version: 3.1.4
196
+ signing_key:
316
197
  specification_version: 4
317
198
  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:
199
+ 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