Example #1
0
    def test_kgroupqueue_priority(self):
        kq = KGroupQueue.make(qkey='global')
        kq.touch('urgent', priority=1)
        kq.touch('normal', priority=2)
        for i in xrange(10):
            kq.put('normal', 'normal')

        kq.put('urgent', 'urgent')
        self.assertEqual(kq.get(), 'urgent')
Example #2
0
 def test_kgroupqueue(self):
     kq = KGroupQueue.make(qkey='global')
     kq.touch('normal/10.1.9.9', ['100/s', '200/s'])
     kq.makegroup('urgent/group1')
     kq.touch('urgent/group1/subgroup2/x.x.x.x', priority=3)
     self.assertEqual(kq.find('urgent').priority, 3)
     self.assertEqual(len(kq.queues), 2)
     kq.find('urgent').priority = 2
     self.assertEqual(kq.find('urgent').priority, 2)
Example #3
0
    def test_kgroupqueue_ratelimit(self):
        kq = KGroupQueue.make(qkey='global')
        kq.touch('normal/10.1.9.9', [None, '100/s'])
        for i in xrange(200):
            kq.put(i)

        # This will take 2 seconds to finish
        for i in xrange(200):
            kq.get()

        for i in xrange(200):
            kq.put(i)

        with self.assertRaises(Empty):
            for i in xrange(200):
                kq.get(block=False)
Example #4
0
#-*- coding=utf-8 -*-
from kikyo.worker.kqueue import KGroupQueue, KQueue

kq = KGroupQueue.make()
kq.addque('normal', KGroupQueue.make())
kq.addque('urgent', KGroupQueue.make())
kq.find('normal').addque('10.1.9.9', KQueue.make(key='10.1.9.9'))