sidekiq-belt 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 311732e41366c1a1737b160f74364c13e76015f731191ee0cbd34af81b80afd2
4
- data.tar.gz: 120418dea454eec7c1c9e47d35ad64d823a478d761accc9b9a6b28505e046e3b
3
+ metadata.gz: 7e20fc5c538638c6ec3efcc44f96a75e8a6a3a15906738e78990add18f15ff5a
4
+ data.tar.gz: e21c25aad43211fa210785d92c7d1e182efbec71471feb7aa48d1cc5dd802cad
5
5
  SHA512:
6
- metadata.gz: 32111af8a8f7f4325f4dee59864eb8bcf0469747663dcdab7f0c5bdb5ec7636526f44447e1914b7cd7cce5b3ad60957c66b6fa52ff5fc2ad4549c78c81723ee2
7
- data.tar.gz: bf61e75d9ca7875ee303726765c323074dfe3f2d76e35ab725cfb51f308a56fbb1fc902a1ce1ae065770ae1e98f88ada773eab0809712ffdb543b9b082146c31
6
+ metadata.gz: 857d47d6d0dfbe7ffb7b2e97049c5a718877525212508afa787c506aa5497a4ac172a92bf9ee9218673f83bad99efbb076f7460a3b71d63cf2f9431bd34dfb2b
7
+ data.tar.gz: e14112f7c11dde264d54a5143e4d555a54206528effd0c7ae0679ef5106026b942e4e17b3d539214594b8c00e03317acd74f4514f106a526b967f17f635ee1b9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.0] - 2023-10-07
4
+
5
+ - Feature to add button to remove failed batches
6
+
3
7
  ## [0.2.0] - 2023-10-07
4
8
 
5
9
  - Feature to Pause/Unpause Periodic Jobs
data/README.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Sidekiq::Belt
2
2
 
3
+
4
+ <a href='http://badge.fury.io/rb/sidekiq-belt'>
5
+ <img src="https://badge.fury.io/rb/sidekiq-belt.png" alt="Gem Version" />
6
+ </a>
7
+ <a href='https://github.com/dannnylo/sidekiq-belt/workflows/CI/badge.svg'>
8
+ <img src="https://github.com/dannnylo/sidekiq-belt/workflows/CI/badge.svg" alt="Build Status" />
9
+ </a>
10
+
3
11
  This Ruby gem enhances the capabilities of Sidekiq, Sidekiq Pro, and Sidekiq Enterprise by adding essential utilities.
4
12
 
5
13
  ## Installation
@@ -59,14 +67,19 @@ To enable this feature, pass the `periodic_pause` option:
59
67
  ```ruby
60
68
  Sidekiq::Belt.use!([:periodic_pause])
61
69
  ```
70
+ ![periodic_pause](https://github.com/dannnylo/sidekiq-belt/assets/20794/41fbcee4-9c5b-45cd-b6f7-c359a22f3979)
71
+ ![periodic_unpause](https://github.com/dannnylo/sidekiq-belt/assets/20794/ea06ae37-068e-4f66-ab10-d83970545a59)
62
72
 
63
73
  ### Delete an Unfinished Batch (sidekiq-pro)
64
74
 
65
- This feature is not yet implemented.
75
+ This option adds a button to remove failed batches.
66
76
 
67
- ### Delete a not finished Batch (sidekiq-pro)
77
+ To enable this feature, pass the `failed_batch_remove` option:
78
+ ```ruby
79
+ Sidekiq::Belt.use!([:failed_batch_remove])
80
+ ```
81
+ ![failed_batch_remove](https://github.com/dannnylo/sidekiq-belt/assets/20794/e285a8b2-4626-48e1-b04a-5190ae51d43b)
68
82
 
69
- It will be implemented in upcoming versions.
70
83
 
71
84
  ## Development
72
85
 
@@ -10,6 +10,8 @@ module Sidekiq
10
10
  def self.use!(_options = [:all])
11
11
  # all = options.include?(:all)
12
12
  # Sidekiq::Belt::Pro::Feature.load! if all || options.include?(:feature)
13
+
14
+ true
13
15
  end
14
16
  end
15
17
  end
@@ -16,6 +16,8 @@ module Sidekiq
16
16
 
17
17
  Sidekiq::Belt::Ent::PeriodicPause.use! if all || options.include?(:periodic_pause)
18
18
  Sidekiq::Belt::Ent::PeriodicRun.use! if all || options.include?(:periodic_run)
19
+
20
+ true
19
21
  end
20
22
  end
21
23
  end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "sidekiq/web/helpers"
4
+
5
+ module Sidekiq
6
+ module Belt
7
+ module Pro
8
+ module FailedBatchRemove
9
+ module SidekiqFailedBatchRemove
10
+ REMOVE_BUTTON = <<~ERB
11
+ <form action="<%= root_path %>batches/<%= bid %>/remove" method="post">
12
+ <%= csrf_tag %>
13
+ <input class="btn btn-danger" type="submit" name="remove" value="<%= t('Remove') %>"
14
+ data-confirm="Do you want to remove batch <%= bid %>? <%= t('AreYouSure') %>" />
15
+ </form>
16
+ ERB
17
+
18
+ def self.registered(app)
19
+ app.replace_content("/batches") do |content|
20
+ content.gsub!("</th>\n <%", "</th><th><%= t('Delete') %></th>\n <%")
21
+
22
+ content.gsub!(
23
+ "</td>\n </tr>\n <% end %>",
24
+ "</td>\n<td>#{REMOVE_BUTTON}</td>\n </tr>\n <% end %>"
25
+ )
26
+ end
27
+
28
+ app.post("/batches/:bid/remove") do
29
+ Sidekiq::Batch::Status.new(params[:bid]).delete
30
+
31
+ return redirect "#{root_path}batches"
32
+ end
33
+ end
34
+ end
35
+
36
+ def self.use!
37
+ require("sidekiq/web")
38
+
39
+ Sidekiq::Web.register(Sidekiq::Belt::Pro::FailedBatchRemove::SidekiqFailedBatchRemove)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -2,18 +2,20 @@
2
2
 
3
3
  require "sidekiq"
4
4
 
5
- # require_relative "feature"
5
+ require_relative "failed_batch_remove"
6
6
 
7
7
  module Sidekiq
8
8
  module Belt
9
9
  module Pro
10
10
  module Files
11
- def self.use!(_options = [:all])
11
+ def self.use!(options = [:all])
12
12
  return unless Sidekiq.pro?
13
13
 
14
+ all = options.include?(:all)
15
+
16
+ Sidekiq::Belt::Pro::FailedBatchRemove.use! if all || options.include?(:failed_batch_remove)
17
+
14
18
  true
15
- # all = options.include?(:all)
16
- # Sidekiq::Belt::Pro::Feature.load! if all || options.include?(:feature)
17
19
  end
18
20
  end
19
21
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sidekiq
4
4
  module Belt
5
- VERSION = "0.2.0"
5
+ VERSION = "0.3.0"
6
6
  end
7
7
  end
@@ -5,10 +5,6 @@ require "sidekiq/web/action"
5
5
 
6
6
  module Sidekiq
7
7
  module WebActionHelper
8
- def self.blocks
9
- @blocks ||= {}
10
- end
11
-
12
8
  def render(engine, content, options = {})
13
9
  begin
14
10
  path_info = /"([^"]*)"/.match(block.source.to_s)[1]
@@ -18,7 +14,7 @@ module Sidekiq
18
14
 
19
15
  path_info ||= ::Rack::Utils.unescape(env["PATH_INFO"])
20
16
 
21
- Sidekiq::WebActionHelper.blocks.fetch(path_info.to_s, []).each do |content_block|
17
+ Sidekiq::Config::DEFAULTS[:replace_views].fetch(path_info.to_s, []).each do |content_block|
22
18
  content_block.call(content)
23
19
  end
24
20
 
@@ -7,8 +7,9 @@ require_relative "web_action_helper"
7
7
  module Sidekiq
8
8
  module WebRouterHelper
9
9
  def replace_content(path, &block)
10
- Sidekiq::WebActionHelper.blocks[path.to_s] ||= []
11
- Sidekiq::WebActionHelper.blocks[path.to_s] << block
10
+ Sidekiq::Config::DEFAULTS[:replace_views] ||= {}
11
+ Sidekiq::Config::DEFAULTS[:replace_views][path.to_s] ||= []
12
+ Sidekiq::Config::DEFAULTS[:replace_views][path.to_s] << block
12
13
  end
13
14
  end
14
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-belt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danilo Jeremias da Silva
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-14 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '7.0'
19
+ version: 7.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">"
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
26
+ version: 7.1.4
27
27
  description: This Ruby gem enhances the capabilities of Sidekiq, Sidekiq Pro, and
28
28
  Sidekiq Enterprise by adding essential utilities.
29
29
  email:
@@ -45,6 +45,7 @@ files:
45
45
  - lib/sidekiq/belt/ent/files.rb
46
46
  - lib/sidekiq/belt/ent/periodic_pause.rb
47
47
  - lib/sidekiq/belt/ent/periodic_run.rb
48
+ - lib/sidekiq/belt/pro/failed_batch_remove.rb
48
49
  - lib/sidekiq/belt/pro/files.rb
49
50
  - lib/sidekiq/belt/version.rb
50
51
  - lib/sidekiq/web_action_helper.rb