Add option to print task IDs to qinfo

Option to print IDs (PIDs) of running clusters added to qinfo.
This provides an easy way for scripts and process managers to fetch the PID(s) of running clusters.
This commit is contained in:
Dan Bright
2016-06-03 20:50:20 +01:00
parent 2e062a2ba9
commit d66209de29
2 changed files with 20 additions and 2 deletions
+9 -2
View File
@@ -6,7 +6,7 @@ from django.utils.translation import ugettext as _
from django_q import VERSION
from django_q.conf import Conf
from django_q.monitor import info
from django_q.monitor import info, get_ids
class Command(BaseCommand):
@@ -19,10 +19,17 @@ class Command(BaseCommand):
dest='config',
default=False,
help='Print current configuration.'),
make_option('--ids',
action='store_true',
dest='ids',
default=False,
help='Print cluster task IDs (PIDs).'),
)
def handle(self, *args, **options):
if options.get('config', False):
if options.get('ids', True):
get_ids()
elif options.get('config', False):
hide = ['conf', 'IDLE', 'STOPPING', 'STARTING', 'WORKING', 'SIGNAL_NAMES', 'STOPPED']
settings = [a for a in dir(Conf) if not a.startswith('__') and a not in hide]
self.stdout.write('VERSION: {}'.format('.'.join(str(v) for v in VERSION)))
+11
View File
@@ -187,3 +187,14 @@ def info(broker=None):
term.white('{0:.4f}'.format(exec_time))
)
return True
def get_ids():
# prints id (PID) of running clusters
stat = Stat.get_all()
if stat:
for s in stat:
print(s.cluster_id)
else:
print('No clusters appear to be running.')
return True