class MailRunner::ManagerBot
Attributes
archive[RW]
mailbox[RW]
used for testing
webhook[RW]
webhook_status[RW]
Public Class Methods
new()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 25 def initialize @mailbox = nil @webhook = nil @archive = nil @webhook_status = nil end
Public Instance Methods
archive_stack?()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 112 def archive_stack? archivist.stack_height > 0 end
archivist()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 108 def archivist MailRunner::ArchivistBot end
delayed_queue?()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 96 def delayed_queue? queue_manager.queue_length > 0 end
delegate_archive_stack_processing()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 116 def delegate_archive_stack_processing begin archivist.archive_stack rescue Exception => msg puts msg.inspect end end
delegate_delayed_queue_processing()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 100 def delegate_delayed_queue_processing begin queue_manager.process_queue rescue Exception => msg puts msg.inspect end end
delegate_inbound_processing()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 83 def delegate_inbound_processing begin inbound_manager.process_inbound(mailbox, webhook, archive) rescue Exception => msg puts msg.inspect end end
inbound_manager()
click to toggle source
Delegation Methods ####
# File lib/mail_runner/head_manager_bot.rb, line 79 def inbound_manager MailRunner::InboundManagerBot end
parse_options(opts)
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 38 def parse_options(opts) BotHelpers::Tests.all_args_included?(opts) @mailbox = "/var/mail/#{opts[:mailbox]}" @webhook = opts[:webhook] @archive = opts[:archive].nil? ? nil : opts[:archive] end
queue_manager()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 92 def queue_manager MailRunner::QueueManagerBot end
run()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 56 def run BotHelpers::Helpers.print_monitoring_started_msg(self) $mad_statter.incr_stat("runner launched") while true delegate_inbound_processing if webhook_status == "down" BotHelpers::Tests.soft_test_webhook(self.webhook) elsif delayed_queue? delegate_delayed_queue_processing end if archive_stack? delegate_archive_stack_processing end sleep 5 end end
test_options()
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 50 def test_options BotHelpers::Tests.test_mailbox(self.mailbox) BotHelpers::Tests.test_webhook(self.webhook) BotHelpers::Tests.test_archive(self.archive) unless self.archive.nil? end
update_webhook_status(status)
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 46 def update_webhook_status(status) @webhook_status = status end
verify_and_set(opts)
click to toggle source
# File lib/mail_runner/head_manager_bot.rb, line 33 def verify_and_set(opts) parse_options(opts) test_options end