Sha256: 303991e34d46f581702db66d15b034c917aec94f3a88a6197a96f0d265b99f7b
Contents?: true
Size: 929 Bytes
Versions: 1
Compression:
Stored size: 929 Bytes
Contents
require_relative 'configuration' require 'slack-notifier' require 'sidekiq' module Slack class Mailer class DeliveryWorker include Sidekiq::Worker sidekiq_options queue: :slack_messages sidekiq_options retry: Proc.new{ Slack::Mailer::Configuration.config.slack_hook_urls.length }, dead: false sidekiq_retry_in { 1 } sidekiq_retries_exhausted do |msg| Slack::Mailer::DeliveryWorker.perform_async(msg['args'][0]) end attr_accessor :name, :channel, :message, :url, :retry_count def retry_count @retry_count || 0 end def perform(params) params['url'] = Slack::Mailer::Configuration.config.slack_hook_urls[retry_count] params.each{ |attribute, value| send("#{attribute}=", value) if respond_to?(attribute) } Slack::Notifier.new(url, username: name, channel: channel, link_names: 1).ping(message) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
slack_mailer-0.1.0 | lib/slack_mailer/delivery_worker.rb |