mirror of https://github.com/str4d/RelayBot.git
Support for and script to make it easier to run with twistd.
This commit is contained in:
parent
3a5018ec1a
commit
fdfa3b8a9d
|
@ -3,6 +3,7 @@ from twisted.internet import reactor, protocol
|
|||
from twisted.internet.protocol import ReconnectingClientFactory
|
||||
from twisted.python import log
|
||||
from twisted.internet.endpoints import clientFromString
|
||||
from twisted.application import service
|
||||
from signal import signal, SIGINT
|
||||
import re
|
||||
|
||||
|
@ -11,6 +12,7 @@ import sys
|
|||
log.startLogging(sys.stdout)
|
||||
|
||||
__version__ = "0.2"
|
||||
application = service.Application("RelayBot")
|
||||
|
||||
def main():
|
||||
host = "localhost"
|
||||
|
@ -38,7 +40,6 @@ def main():
|
|||
reactor.connectTCP(host, port, factory, timeout)
|
||||
|
||||
reactor.callWhenRunning(signal, SIGINT, handler)
|
||||
reactor.run()
|
||||
|
||||
class Communicator:
|
||||
def __init__(self):
|
||||
|
@ -157,5 +158,6 @@ class FLIPFactory(RelayFactory):
|
|||
def handler(signum, frame):
|
||||
reactor.stop()
|
||||
|
||||
if __name__ == "__main__":
|
||||
#Main if run as script, builtin for twistd.
|
||||
if __name__ in ["__main__", "__builtin__"]:
|
||||
main()
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/bash
|
||||
if [ "X`id -u`" = "X0" -a -z "$RUN_AS_USER" ]
|
||||
then
|
||||
echo "Do not run this script as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
start() {
|
||||
twistd --python=relaybot.py --logfile=relaybot.log --pidfile=relaybot.pid
|
||||
}
|
||||
|
||||
stop() {
|
||||
kill `cat relaybot.pid`
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
|
||||
'stop')
|
||||
stop
|
||||
;;
|
||||
|
||||
'restart')
|
||||
stop
|
||||
start
|
||||
;;
|
||||
|
||||
'status')
|
||||
tail -F relaybot.log
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 { start | stop | restart | status }"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue