From 107752f3a10f8802135e69b76feb3c883ebb76c3 Mon Sep 17 00:00:00 2001 From: Evan Solomon Date: Tue, 9 Dec 2014 22:19:28 -0800 Subject: [PATCH 1/2] Fail harder on errors Currently if the client emits an error we log it but just hang around. The app is in an undefined state at that point so it's hard to say what exactly will happen, but it's probably not ideal. At least this way a process monitor can tell that it died and restart it, ship the logs somewhere, or something. --- src/slack.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/slack.coffee b/src/slack.coffee index c0186720..596689f0 100644 --- a/src/slack.coffee +++ b/src/slack.coffee @@ -37,6 +37,8 @@ class SlackBot extends Adapter error: (error) => @robot.logger.error "Received error #{error.toString()}" + @robot.logger.error error.stack + process.exit 1 loggedIn: (self, team) => @robot.logger.info "Logged in as #{self.name} of #{team.name}, but not yet connected" From 5338f9143e8424fd055759603f67858f5250fddb Mon Sep 17 00:00:00 2001 From: Evan Solomon Date: Wed, 10 Dec 2014 00:29:40 -0800 Subject: [PATCH 2/2] Wait 1 second to exit to give in flight requests some chance to succeed --- src/slack.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slack.coffee b/src/slack.coffee index 596689f0..f46ce7a8 100644 --- a/src/slack.coffee +++ b/src/slack.coffee @@ -38,7 +38,8 @@ class SlackBot extends Adapter error: (error) => @robot.logger.error "Received error #{error.toString()}" @robot.logger.error error.stack - process.exit 1 + @robot.logger.error "Exiting in 1 second" + setTimeout process.exit.bind(process, 1), 1000 loggedIn: (self, team) => @robot.logger.info "Logged in as #{self.name} of #{team.name}, but not yet connected"