mirror of
https://github.com/django-q2/django-q2.git
synced 2026-09-25 20:08:11 +08:00
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:
@@ -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)))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user