Class: MailRunner::ManagerBot
- Inherits:
-
Object
- Object
- MailRunner::ManagerBot
- Extended by:
- BotHelpers
- Defined in:
- lib/mail_runner/head_manager_bot.rb
Instance Attribute Summary collapse
-
#archive ⇒ Object
Returns the value of attribute archive.
-
#mailbox ⇒ Object
used for testing.
-
#webhook ⇒ Object
Returns the value of attribute webhook.
-
#webhook_status ⇒ Object
Returns the value of attribute webhook_status.
Instance Method Summary collapse
- #delayed_queue? ⇒ Boolean
- #delegate_delayed_queue_processing ⇒ Object
- #delegate_inbound_processing ⇒ Object
- #inbound_manager ⇒ Object
-
#initialize ⇒ ManagerBot
constructor
A new instance of ManagerBot.
- #parse_options(opts) ⇒ Object
- #queue_manager ⇒ Object
- #run ⇒ Object
- #test_options ⇒ Object
- #update_webhook_status(status) ⇒ Object
- #verify_and_set(opts) ⇒ Object
Constructor Details
#initialize ⇒ ManagerBot
Returns a new instance of ManagerBot.
24 25 26 27 28 29 |
# File 'lib/mail_runner/head_manager_bot.rb', line 24 def initialize @mailbox = nil @webhook = nil @archive = false @webhook_status = nil end |
Instance Attribute Details
#archive ⇒ Object
Returns the value of attribute archive.
19 20 21 |
# File 'lib/mail_runner/head_manager_bot.rb', line 19 def archive @archive end |
#mailbox ⇒ Object
used for testing
17 18 19 |
# File 'lib/mail_runner/head_manager_bot.rb', line 17 def mailbox @mailbox end |
#webhook ⇒ Object
Returns the value of attribute webhook.
18 19 20 |
# File 'lib/mail_runner/head_manager_bot.rb', line 18 def webhook @webhook end |
#webhook_status ⇒ Object
Returns the value of attribute webhook_status.
20 21 22 |
# File 'lib/mail_runner/head_manager_bot.rb', line 20 def webhook_status @webhook_status end |
Instance Method Details
#delayed_queue? ⇒ Boolean
89 90 91 |
# File 'lib/mail_runner/head_manager_bot.rb', line 89 def delayed_queue? queue_manager.queue_length > 0 end |
#delegate_delayed_queue_processing ⇒ Object
93 94 95 96 97 98 99 |
# File 'lib/mail_runner/head_manager_bot.rb', line 93 def delegate_delayed_queue_processing begin queue_manager.process_queue rescue Exception => msg puts msg.inspect end end |
#delegate_inbound_processing ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/mail_runner/head_manager_bot.rb', line 76 def delegate_inbound_processing begin inbound_manager.process_inbound(mailbox, webhook, archive) rescue Exception => msg puts msg.inspect end end |
#inbound_manager ⇒ Object
72 73 74 |
# File 'lib/mail_runner/head_manager_bot.rb', line 72 def inbound_manager MailRunner::InboundManagerBot end |
#parse_options(opts) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/mail_runner/head_manager_bot.rb', line 37 def (opts) BotHelpers::Tests.all_args_included?(opts) @mailbox = "/var/mail/#{opts[:mailbox]}" @webhook = opts[:webhook] @archive = opts[:archive] == "true" ? true : false end |
#queue_manager ⇒ Object
85 86 87 |
# File 'lib/mail_runner/head_manager_bot.rb', line 85 def queue_manager MailRunner::QueueManagerBot end |
#run ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/mail_runner/head_manager_bot.rb', line 54 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 sleep 5 end end |
#test_options ⇒ Object
49 50 51 52 |
# File 'lib/mail_runner/head_manager_bot.rb', line 49 def BotHelpers::Tests.test_mailbox(self.mailbox) BotHelpers::Tests.test_webhook(self.webhook) end |
#update_webhook_status(status) ⇒ Object
45 46 47 |
# File 'lib/mail_runner/head_manager_bot.rb', line 45 def update_webhook_status(status) @webhook_status = status end |
#verify_and_set(opts) ⇒ Object
32 33 34 35 |
# File 'lib/mail_runner/head_manager_bot.rb', line 32 def verify_and_set(opts) (opts) end |