/usr/bin/jsb-fleet is in jsonbot 0.84.4-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #!/usr/bin/python
#
#
""" run multiple bot instances in 1 program. """
## bootstrap
import warnings
warnings.simplefilter("ignore")
import os, sys, logging
sys.path.insert(0, os.getcwd())
## basic imports
import logging
import time
import signal
## options parser
from jsb.utils.opts import makefleetopts
opts = makefleetopts()
from jsb.lib.datadir import setdatadir, getdatadir
if opts.datadir: setdatadir(opts.datadir)
from jsb.version import getversion
print getversion('FLEET')
## jsb imports
from jsb.lib.partyline import partyline
from jsb.lib.datadir import makedirs
from jsb.lib.boot import boot
from jsb.lib.exit import globalshutdown
from jsb.utils.mainloop import mainloop
from jsb.lib.users import users_boot
from jsb.lib.threads import start_new_thread
from jsb.utils.exception import handle_exception
import jsb
from jsb.lib.fleet import getfleet
fleet = getfleet(opts.datadir)
if opts.all or opts.show:
avail = fleet.avail()
if avail: sys.stdout.write("available bots: " + ", ".join(avail) + ".")
else: sys.stdout.write("no bots available.")
if opts.all: print "" ; os._exit(0)
# provide sigterm support
def dostop(a, b):
""" sig handler """
globalshutdown()
signal.signal(signal.SIGTERM, dostop)
if not fleet.avail(): logging.error("fleet - no bots found.") ; os._exit(1)
## loglevel
from jsb.utils.log import setloglevel
setloglevel(opts.loglevel or "warn", not opts.nocolors)
## start the fleet
boot(opts.datadir)
if opts.owner:
users = users_boot()
users.make_owner(opts.owner)
def doresume():
try:
fleet.resume(opts.doresume)
fleet.startok.wait()
partyline.resume(opts.doresume)
time.sleep(1)
os.unlink(opts.doresume)
except: handle_exception()
if opts.doresume: start_new_thread(doresume, ())
else: start_new_thread(fleet.boot, (opts.args, ["tornado", "console"]))
mainloop()
|