30 lines
749 B
Python
30 lines
749 B
Python
|
#!/usr/bin/env/python
|
||
|
import subprocess
|
||
|
import logging
|
||
|
import sys
|
||
|
import time
|
||
|
|
||
|
logger = logging.getLogger(__name__)
|
||
|
logger.setLevel(logging.DEBUG)
|
||
|
logger_handler = logging.StreamHandler()
|
||
|
logger_handler.setFormatter(logging.Formatter('[%(levelname)s] (%(name)s) - %(message)s'))
|
||
|
logger.addHandler(logger_handler)
|
||
|
|
||
|
logger.info("Bot Manager Started!")
|
||
|
|
||
|
|
||
|
def start_bot():
|
||
|
bot_process = subprocess.Popen(["python3", "-B", "bot.py"], stdout=sys.stdout)
|
||
|
return bot_process
|
||
|
|
||
|
|
||
|
bot = start_bot()
|
||
|
while True:
|
||
|
if bot.poll() is not None:
|
||
|
if bot.returncode == 26:
|
||
|
logger.info("exit code 26 received, restarting bot!")
|
||
|
bot = start_bot()
|
||
|
else:
|
||
|
break
|
||
|
time.sleep(1) # keeps code from overworking.
|