示例#1
0
def find_builds(oldid, newid):
    """

    :param oldid: The id to start from
    :param newid: The id to end
    :return: None
    """
    koji_session = koji.ClientSession("http://koji.fedoraproject.org/kojihub/")

    config = get_redis_config()
    jobqueue = Queue('jobqueue', config)
    jobqueue.connect()

    for i in range(oldid, newid + 1):
        build_rpms = koji_session.listBuildRPMs(i)
        if build_rpms:
            r1 = build_rpms[0]
            release = r1['release'].split('.')[-1]
            if release == 'el5':
                continue
            print i, release  # Enqueue the job here.
            info = {
                'build_id': i,
                'instance': 'primary',
                'release': release,
            }

            task = Task(info)
            enqueue(task)
        else:
            print "Missing: ", i
示例#2
0
 def __init__(self, name):
     if isinstance(name, basestring) and name.strip():
         self.q = RetaskQueue(name)
         self.q.connect()
         self.name = name
     else:
         raise QueueException(
             "Bad value for 'name'. 'name' has to be a non empty string.")
示例#3
0
 def __init__(self, name):
     if isinstance(name, basestring) and name.strip():
         self.q = RetaskQueue(name)
         self.q.connect()
         self.name = name
     else:
         raise QueueException(
             "Bad value for 'name'. 'name' has to be a non empty string.")
示例#4
0
class Queue(object):
    """
    A custom Queue API for our workers so that we can plug an play with
    multiple Queue implementations.
    """

    def __init__(self, name):
        if isinstance(name, basestring) and name.strip():
            self.q = RetaskQueue(name)
            self.q.connect()
            self.name = name
        else:
            raise QueueException(
                "Bad value for 'name'. 'name' has to be a non empty string.")

    def get(self, count=1, wait=False):
        """
        Get task from Queue.

        Args:
            wait: A boolean deciding whether to retrieve a task
                  from queue in a blocking fashion or not.
        Returns:
            A list of retask.Task instances.
        """
        tasks = []
        for n in range(count or 1):
            if wait:
                task = self.q.wait()
            else:
                task = self.q.dequeue()
            tasks.append(task)
        return tasks

    def put(self, data):
        """
        Create a task from data and put it to Queue.

        Args:
            data: A dictionary.
        """
        task = Task(data)
        job = self.q.enqueue(task)
        return job

    def send(self, task, data):
        """
        Update result for a task and send it to the producer.

        Args:
            task: A retask.Task instance
            data: A string.
        """
        self.q.send(task, data)

    def __unicode__(self):
         return self.name
示例#5
0
class Queue(object):
    """
    A custom Queue API for our workers so that we can plug an play with
    multiple Queue implementations.
    """
    def __init__(self, name):
        if isinstance(name, basestring) and name.strip():
            self.q = RetaskQueue(name)
            self.q.connect()
            self.name = name
        else:
            raise QueueException(
                "Bad value for 'name'. 'name' has to be a non empty string.")

    def get(self, count=1, wait=False):
        """
        Get task from Queue.

        Args:
            wait: A boolean deciding whether to retrieve a task
                  from queue in a blocking fashion or not.
        Returns:
            A list of retask.Task instances.
        """
        tasks = []
        for n in range(count or 1):
            if wait:
                task = self.q.wait()
            else:
                task = self.q.dequeue()
            tasks.append(task)
        return tasks

    def put(self, data):
        """
        Create a task from data and put it to Queue.

        Args:
            data: A dictionary.
        """
        task = Task(data)
        job = self.q.enqueue(task)
        return job

    def send(self, task, data):
        """
        Update result for a task and send it to the producer.

        Args:
            task: A retask.Task instance
            data: A string.
        """
        self.q.send(task, data)

    def __unicode__(self):
        return self.name
示例#6
0
from retask import Task
from retask import Queue

queue = Queue('example')
info1 = {'user': '******', 'url': 'http://kushaldas.in'}
info2 = {'user': '******', 'url': 'http://planet.fedoraproject.org'}
task1 = Task(info1)
task2 = Task(info2)
queue.connect()
queue.enqueue(task1)
queue.enqueue(task2)
示例#7
0
from retask import Queue
queue = Queue('example')
queue.connect()
while queue.length != 0:
    task = queue.dequeue()
    print task.data

示例#8
0
from retask import Task
from retask import Queue
queue = Queue('example')
info1 = {'user':'******', 'url':'http://kushaldas.in'}
info2 = {'user':'******', 'url':'http://planet.fedoraproject.org'}
task1 = Task(info1)
task2 = Task(info2)
queue.connect()
queue.enqueue(task1)
queue.enqueue(task2)

示例#9
0
 def runTest(self):
     queue = Queue('testqueue')
     queue.connect()
     task = queue.dequeue()
     i = task.data
     self.assertEqual(task.data['name'], 'kushal')
示例#10
0
 def runTest(self):
     queue = Queue('testqueue')
     queue.connect()
     t = Task({'name': 'kushal'})
     self.assertTrue(queue.enqueue(t))
示例#11
0
文件: tests.py 项目: asldevi/retask
 def runTest(self, mock_redis):
     m = mock_redis.return_value
     m.llen.return_value = 2
     queue = Queue('testqueue')
     queue.connect()
     self.assertEqual(queue.length, 2)
示例#12
0
文件: tests.py 项目: asldevi/retask
 def runTest(self):
     queue = Queue('testqueue')
     self.assertTrue(queue.connect())
示例#13
0
from retask import Task
from retask import Queue
import time
queue = Queue('example')
info1 = {'user': '******', 'url': 'http://planet.fedoraproject.org'}
task1 = Task(info1)
queue.connect()
job = queue.enqueue(task1)
print job.result
time.sleep(30)
print job.result
示例#14
0
 def runTest(self):
     queue = Queue('lambda')
     queue.connect()
     results = queue.names()
     self.assertEqual(results[0], 'retaskqueue-lambda')
示例#15
0
 def runTest(self):
     queue = Queue('testqueue')
     self.assertTrue(queue.connect())
示例#16
0
 def runTest(self, mock_redis):
     m = mock_redis.return_value
     m.llen.return_value = 2
     queue = Queue('testqueue')
     queue.connect()
     self.assertEqual(queue.length, 2)
示例#17
0
文件: tests.py 项目: asldevi/retask
 def runTest(self):
     queue = Queue('testqueue')
     queue.connect()
     t = Task({'name':'kushal'})
     self.assertTrue(queue.enqueue(t))
示例#18
0
 def setUp(self):
     queue = Queue('testqueue')
     queue.connect()
     t = Task({'name': 'kushal'})
     queue.enqueue(t)
示例#19
0
文件: tests.py 项目: asldevi/retask
 def setUp(self):
     queue = Queue('testqueue')
     queue.connect()
     t = Task({'name':'kushal'})
     queue.enqueue(t)
示例#20
0
from retask import Task
from retask import Queue
import time
queue = Queue('example')
queue.connect()
task = queue.wait()
print(task.data)
time.sleep(15)
queue.send(task, "We received your information dear %s" % task.data['user'])

示例#21
0
文件: tests.py 项目: asldevi/retask
 def runTest(self):
     queue = Queue('testqueue')
     queue.connect()
     task = queue.dequeue()
     i = task.data
     self.assertEqual(task.data['name'], 'kushal')