Merge pull request #71 from Koed00/dev

Only show lock count when available and greater than zero
This commit is contained in:
Ilan Steemers
2015-09-19 17:31:51 +02:00
4 changed files with 17 additions and 5 deletions
+5
View File
@@ -29,6 +29,11 @@ class Broker(object):
"""
pass
def lock_size(self):
"""
:return: the number of tasks currently awaiting acknowledgement
"""
def delete_queue(self):
"""
Deletes the queue from the broker
+3 -2
View File
@@ -83,8 +83,9 @@ def monitor(run_once=False, broker=None):
# bottom bar
i += 1
queue_size = broker.queue_size()
if hasattr(broker, 'lock_size'):
queue_size = '{}({})'.format(queue_size, broker.lock_size())
lock_size = broker.lock_size()
if lock_size:
queue_size = '{}({})'.format(queue_size, lock_size)
print(term.move(i, 0) + term.white_on_cyan(term.center(broker.info(), width=col_width * 2)))
print(term.move(i, 2 * col_width) + term.black_on_cyan(term.center(_('Queued'), width=col_width)))
print(term.move(i, 3 * col_width) + term.white_on_cyan(term.center(queue_size, width=col_width)))
+1
View File
@@ -12,6 +12,7 @@ def test_broker():
broker.enqueue('test')
broker.dequeue()
broker.queue_size()
broker.lock_size()
broker.purge_queue()
broker.delete('id')
broker.delete_queue()
+8 -3
View File
@@ -1,6 +1,6 @@
import pytest
from django_q import async
from django_q import async, get_broker
from django_q.cluster import Cluster
from django_q.monitor import monitor, info
from django_q.status import Stat
@@ -23,9 +23,14 @@ def test_monitor():
assert stat.empty_queues() is True
break
assert found_c is True
# test lock size for orm broker
# test lock size
Conf.ORM = 'default'
monitor(run_once=True)
b = get_broker('monitor_test')
b.enqueue('test')
b.dequeue()
assert b.lock_size() == 1
monitor(run_once=True, broker=b)
b.delete_queue()
Conf.ORM = None