Skip to content
This repository has been archived by the owner on Aug 13, 2023. It is now read-only.

Create a (shell/bash?) start script for the bot #24

Open
5 tasks
Amunak opened this issue Feb 6, 2015 · 4 comments
Open
5 tasks

Create a (shell/bash?) start script for the bot #24

Amunak opened this issue Feb 6, 2015 · 4 comments

Comments

@Amunak
Copy link
Contributor

Amunak commented Feb 6, 2015

The bot needs a start script that:

  • runs the bot in a loop in case it crashes so that it can get back up
  • listens for the bot's exit code and can detect:
    • proper shutdowns (initiated by, say, the !quit command) and end the loop
    • recoverable failure states (that just restart the bot)
    • unrecoverable failure states (that end the loop) - I'm not sure if we can differentiate between the two
    • proper restarts (using the !restart command and such)
  • optionally logs all of the bot's (console) output, or logs just the sessions where the bot errors out, etc.
  • can run the bot as a daemon
  • possibly tries to run the bot in a tmux or screen session (but I'm not sure if implementing this can be clean)

We don't need all of that, but a loop that can at least tell apart a !restart or crash/error/whatever and !quit would be really helpful.

We could also provide some init scripts or systemd unit files, but I don't think it's necessary.

@Amunak Amunak added this to the Modularity Rewrite milestone Feb 6, 2015
@NanoSector NanoSector modified the milestones: Modularity Rewrite, 3.0 Oct 22, 2016
@NanoSector
Copy link
Member

Possibly we can use this: https://github.com/reactphp/child-process for a PHP script. Systemd unit will be coming up in a bit. Although I'd personally prefer it if the system service manager did this and we didn't implement such thing on our own.

@NanoSector
Copy link
Member

Systemd service added as per 612878e

@NanoSector
Copy link
Member

I honestly think having a system service manager like systemd handle this is way more reliable than doing it ourselves. I'll leave this open for a while longer.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants