, [">= 4.1.5"])
+ end
+end
+
diff --git a/vendor/gems/sidekiq-pro-3.4.5/web/locales/en.yml b/vendor/gems/sidekiq-pro-3.4.5/web/locales/en.yml
new file mode 100644
index 0000000..9274077
--- /dev/null
+++ b/vendor/gems/sidekiq-pro-3.4.5/web/locales/en.yml
@@ -0,0 +1,17 @@
+en:
+ Batch: Batch %{bid}
+ Batches: Batches
+ NoBatchesFound: No batches found
+ Description: Description
+ Size: Size
+ Pending: Pending
+ Job: Job
+ Class: Class
+ Failures: Failures
+ ErrorMessage: Error Message
+ ErrorBacktrace: Error Backtrace
+ Started: Started
+ JobCount: Job Count
+ Failed: Failed
+ Status: Status
+ Parent: Parent
diff --git a/vendor/gems/sidekiq-pro-3.4.5/web/views/batch.erb b/vendor/gems/sidekiq-pro-3.4.5/web/views/batch.erb
new file mode 100644
index 0000000..565eeaf
--- /dev/null
+++ b/vendor/gems/sidekiq-pro-3.4.5/web/views/batch.erb
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+ <%= t('Status') %> |
+
+
+ |
+
+ <% if @batch.description && @batch.description.size > 0 %>
+
+ <%= t('Description') %> |
+ <%=h @batch.description %> |
+
+ <% end %>
+ <% if @batch.parent_bid %>
+
+ <%= t('Parent') %> |
+ "><%= @batch.parent_bid %>
+ |
+ <% end %>
+ <% if @batch.callbacks['complete'] %>
+
+ Complete |
+
+ <% @batch.callbacks['complete'].each do |hash| %>
+ <%= hash.keys.first %>: <%= h hash.values.first.inspect %>
+ <% end %>
+ |
+
+ <% end %>
+ <% if @batch.callbacks['success'] %>
+
+ Success |
+
+ <% @batch.callbacks['success'].each do |hash| %>
+ <%= hash.keys.first %>: <%= h hash.values.first.inspect %>
+ <% end %>
+ |
+
+ <% end %>
+
+ <%= t('Created') %> |
+ <%= relative_time(@batch.created_at) %>
+ |
+
+ <%= t('Expires') %> |
+ <%= relative_time(@batch.expires_at) %>
+ |
+
+ <%= t('Size') %> |
+ <%= @batch.total %> |
+
+
+ <%= t('Pending') %> |
+ <%= @batch.pending %> |
+
+
+ <%= t('Failures') %> |
+ <%= @batch.failures %> |
+
+
+
+
+<% fails = @batch.failure_info %>
+<% if fails.size > 0 %>
+ <%= t('Failures') %>
+
+
+
+ <%= t('Job') %> |
+ <%= t('Class') %> |
+ <%= t('ErrorMessage') %> |
+
+ <% fails.each do |failure| %>
+
+ <%= filter_link(failure.jid) %> |
+ <%= h failure.error_class %> |
+ <%= h failure.error_message %> |
+
+ <% end %>
+
+
+<% end %>
diff --git a/vendor/gems/sidekiq-pro-3.4.5/web/views/batches.erb b/vendor/gems/sidekiq-pro-3.4.5/web/views/batches.erb
new file mode 100644
index 0000000..455b39b
--- /dev/null
+++ b/vendor/gems/sidekiq-pro-3.4.5/web/views/batches.erb
@@ -0,0 +1,49 @@
+
+
+<% if @batches.size > 0 %>
+
+
+
+ <%= t('Started') %> |
+ <%= t('Description') %> |
+ <%= t('JobCount') %> |
+ <%= t('Pending') %> |
+ <%= t('Failed') %> |
+ <%= t('Status') %> |
+ <% @batches.each do |bid, _| %>
+ <%
+ begin
+ status = Sidekiq::Batch::Status.new(bid)
+ rescue Sidekiq::Batch::NoSuchBatch
+ next
+ end
+ %>
+
+ <%= relative_time(status.created_at.utc) %> |
+ <%=h status.description %> |
+ <%= status.total %> |
+ <%= status.pending %> |
+ <%= status.failures %> |
+
+
+ |
+
+ <% end %>
+
+
+<% else %>
+ <%= t('NoBatchesFound') %>
+<% end %>
diff --git a/vendor/gems/sidekiq-pro-3.4.5/web/views/filtering.erb b/vendor/gems/sidekiq-pro-3.4.5/web/views/filtering.erb
new file mode 100644
index 0000000..cc70ded
--- /dev/null
+++ b/vendor/gems/sidekiq-pro-3.4.5/web/views/filtering.erb
@@ -0,0 +1,7 @@
+
+ Filter:
+
+
diff --git a/workers/trigger_app_event.rb b/workers/trigger_app_event.rb
new file mode 100644
index 0000000..cb98f2c
--- /dev/null
+++ b/workers/trigger_app_event.rb
@@ -0,0 +1,10 @@
+class TriggerAppEvent
+ include Sidekiq::Worker
+
+ sidekiq_options queue: "app_events", retry: 3
+
+ def perform(app_slug, event, data, payload)
+ app_class = SupportBeeApp::Base.find_from_slug(app_slug)
+ app_class.trigger_event(event, data, payload)
+ end
+end