示例#1
0
 def __init__(self,
              queue_name='default',
              queue=None,
              interval=60,
              connection=None,
              job_class=None,
              queue_class=None,
              name=None):
     from rq.connections import resolve_connection
     self.connection = resolve_connection(connection)
     self._queue = queue
     if self._queue is None:
         self.queue_name = queue_name
     else:
         self.queue_name = self._queue.name
     self._interval = interval
     self.log = logger
     self._lock_acquired = False
     self.job_class = backend_class(self, 'job_class', override=job_class)
     self.queue_class_name = None
     if isinstance(queue_class, string_types):
         self.queue_class_name = queue_class
     self.queue_class = backend_class(self,
                                      'queue_class',
                                      override=queue_class)
     self.name = name or uuid4().hex
示例#2
0
文件: test_utils.py 项目: nvie/rq
 def test_backend_class(self):
     """Ensure function backend_class works correctly"""
     self.assertEqual(fixtures.DummyQueue, backend_class(fixtures, 'DummyQueue'))
     self.assertNotEqual(fixtures.say_pid, backend_class(fixtures, 'DummyQueue'))
     self.assertEqual(fixtures.DummyQueue, backend_class(fixtures, 'DummyQueue', override=fixtures.DummyQueue))
     self.assertEqual(fixtures.DummyQueue,
                      backend_class(fixtures, 'DummyQueue', override='tests.fixtures.DummyQueue'))
示例#3
0
 def test_backend_class(self):
     """Ensure function backend_class works correctly"""
     self.assertEqual(fixtures.DummyQueue,
                      backend_class(fixtures, 'DummyQueue'))
     self.assertNotEqual(fixtures.say_pid,
                         backend_class(fixtures, 'DummyQueue'))
     self.assertEqual(
         fixtures.DummyQueue,
         backend_class(fixtures, 'DummyQueue',
                       override=fixtures.DummyQueue))
     self.assertEqual(
         fixtures.DummyQueue,
         backend_class(fixtures,
                       'DummyQueue',
                       override='tests.fixtures.DummyQueue'))
示例#4
0
    def __init__(self,
                 queue,
                 connection=None,
                 timeout=None,
                 result_ttl=DEFAULT_RESULT_TTL,
                 ttl=None,
                 queue_class=None,
                 depends_on=None,
                 at_front=None,
                 meta=None,
                 description=None,
                 failure_ttl=None,
                 retry=None,
                 on_success=None,
                 on_failure=None):
        """A decorator that adds a ``delay`` method to the decorated function,
        which in turn creates a RQ job when called. Accepts a required
        ``queue`` argument that can be either a ``Queue`` instance or a string
        denoting the queue name.  For example:
            @job(queue='default')
            def simple_add(x, y):
                return x + y
            simple_add.delay(1, 2) # Puts simple_add function into queue
        """
        self.queue = queue
        self.queue_class = backend_class(self,
                                         'queue_class',
                                         override=queue_class)
        self.connection = connection
        self.timeout = timeout
        self.result_ttl = result_ttl
        self.ttl = ttl
        self.meta = meta
        self.depends_on = depends_on
        self.at_front = at_front
        self.description = description
        self.failure_ttl = failure_ttl
        self.retry = retry

        # adds following additional parameters
        self.on_success = on_success
        self.on_failure = on_failure