def setUp(self): self.q = Queue() self.w = Worker.create( [self.q], expires_after=1, default_worker_ttl=1 )
def handle(self, *args, **options): """ The actual logic of the command. Subclasses must implement this method. """ from django.conf import settings from pq.queue import Queue from pq.worker import Worker sentry_dsn = options.get('sentry_dsn') if not sentry_dsn: sentry_dsn = settings.SENTRY_DSN if hasattr( settings, 'SENTRY_DSN') else None verbosity = int(options.get('verbosity')) queues = list(map(Queue.create, args)) w = Worker.create(queues, name=options.get('name'), connection=options['connection']) # Should we configure Sentry? if sentry_dsn: from raven import Client from pq.contrib.sentry import register_sentry client = Client(args.sentry_dsn) register_sentry(client, w) w.work(burst=options['burst'])
def handle(self, *args, **options): """ The actual logic of the command. Subclasses must implement this method. """ from django.conf import settings from pq.queue import Queue from pq.worker import Worker sentry_dsn = options.get('sentry_dsn') if not sentry_dsn: sentry_dsn = settings.SENTRY_DSN if hasattr(settings, 'SENTRY_DSN') else None verbosity = int(options.get('verbosity')) queues = list(map(Queue.create, args)) w = Worker.create(queues, name=options.get('name'), connection=options['connection']) # Should we configure Sentry? if sentry_dsn: from raven import Client from pq.contrib.sentry import register_sentry client = Client(args.sentry_dsn) register_sentry(client, w) w.work(burst=options['burst'])
def handle(self, *args, **options): """ The actual logic of the command. Subclasses must implement this method. """ from django.conf import settings from pq.queue import Queue, SerialQueue from pq.worker import Worker sentry_dsn = options.get('sentry_dsn') if not sentry_dsn: sentry_dsn = settings.SENTRY_DSN if hasattr(settings, 'SENTRY_DSN') else None verbosity = int(options.get('verbosity')) queues = [] if options.get('terminate'): workern = [w.name for w in Worker.objects.all()] for worker in Worker.objects.all()[:]: worker.stop = True worker.save() print('Terminating %s ...' % ' '.join(workern)) while Worker.objects.all(): time.sleep(5) return if not args: args = [q[0] for q in Queue.objects.values_list('name').exclude(name='failed')] args.sort() if not args: print('There are no queues to work on') sys.exit(1) for queue in args: try: q = Queue.objects.get(name=queue) except Queue.DoesNotExist: print("The '%s' queue does not exist. Use the pqcreate command to create it." % queue) continue if q.serial: q = SerialQueue.objects.get(name=queue) else: q = Queue.objects.get(name=queue) q.connection = options['connection'] q._saved = True queues.append(q) if queues: w = Worker.create(queues, name=options.get('name'), connection=options['connection']) # Should we configure Sentry? if sentry_dsn: from raven import Client from pq.contrib.sentry import register_sentry client = Client(sentry_dsn) register_sentry(client, w) w.work(burst=options['burst'])
def setUp(self): q = Queue() q.enqueue(say_hello, kwargs={'name':'bob'}, result_ttl=1) # expires q.enqueue(say_hello, kwargs={'name':'polly'}) # won't expire in this test lifecycle q.enqueue(say_hello, kwargs={'name':'frank'}, result_ttl=-1) # never expires w = Worker.create([q]) w.work(burst=True) q.enqueue(say_hello, kwargs={'name':'david'}) # hasn't run yet self.q = q
def setUp(self): password = "******" user = User.objects.create_superuser("test", "*****@*****.**", password) self.client.login(username=user.username, password=password) self.q = Queue() self.q.enqueue_call(say_hello, args=("you",)) self.q.enqueue_call(div_by_zero, args=(1,)) w = Worker.create(self.q) w.work(burst=True) self.q.enqueue_call(say_hello, args=("me",))
def setUp(self): password = '******' user = User.objects.create_superuser('test', '*****@*****.**', password) self.client.login(username=user.username, password=password) self.q = Queue() self.q.enqueue_call(say_hello, args=('you', )) self.q.enqueue_call(div_by_zero, args=(1, )) w = Worker.create(self.q) w.work(burst=True) self.q.enqueue_call(say_hello, args=('me', ))
def setUp(self): password = '******' user = User.objects.create_superuser('test', '*****@*****.**', password) self.client.login(username=user.username, password=password) self.q = Queue() self.q.enqueue_call(say_hello, args=('you',)) self.q.enqueue_call(div_by_zero, args=(1,)) self.q.schedule(datetime(2099, 1, 1, tzinfo=utc), say_hello, 'later') w = Worker.create(self.q) w.work(burst=True) self.q.enqueue_call(say_hello, args=('me',))
def test_custom_exc_handling(self): """Custom exception handling.""" w = Worker.create([self.q], exc_handler=self.black_hole) w.work(burst=True) # should silently pass # Postconditions self.assertEqual(self.q.count, 0) self.assertEqual(self.fq.count, 0) # Check the job job = Job.objects.get(id=self.job.id) self.assertEqual(job.status, Job.FAILED)
def test_custom_exc_handling(self): """Custom exception handling.""" w = Worker.create([self.q], exc_handler=self.black_hole) w.work(burst=True) # should silently pass # Postconditions self.assertEquals(self.q.count, 0) self.assertEquals(self.fq.count, 0) # Check the job job = Job.objects.get(id=self.job.id) self.assertEquals(job.status, Job.FAILED)
def setUp(self): self.q = Queue() self.w = Worker.create([self.q]) self.job = self.q.enqueue(say_hello, args=('Bob', ), result_ttl=1) self.w.work(burst=True)
def setUp(self): self.q = Queue() self.fq = get_failed_queue() self.w = Worker.create([self.q]) self.job = self.q.enqueue(div_by_zero) self.enqueued_at = self.job.enqueued_at
def setUp(self): self.q = Queue('foo') self.w = Worker.create([self.q]) self.job = self.q.enqueue('test_pq.fixtures.say_hello', name='Frank')
def setUp(self): self.fooq, self.barq = Queue('foo'), Queue('bar') self.w = Worker.create([self.fooq, self.barq])
def setUp(self): self.q = Queue() self.w = Worker.create([self.q])
def setUp(self): self.sentinel_file = '/tmp/.rq_sentinel' self.q = Queue() self.fq = get_failed_queue() self.w = Worker.create([self.q])
def setUp(self): self.q = Queue() self.fq = get_failed_queue() self.w = Worker.create([self.q])
def setUp(self): self.fooq, self.barq = Queue('foo'), Queue('bar') self.w = Worker.create([self.fooq, self.barq]) self.fooq.enqueue(say_hello, name='Frank')
def setUp(self): self.q = Queue() self.w = Worker.create([self.q], name='Test') self.w.heartbeat = datetime(2010, 1, 1, tzinfo=utc)
def test_create_worker(self): """Worker creation.""" w = Worker.create([self.fooq, self.barq]) self.assertEquals(w.queues, [self.fooq, self.barq])
def setUp(self): self.q = Queue(scheduled=True) self.w = Worker.create([self.q])
def setUp(self): self.q = Queue() self.w = Worker.create([self.q]) self.job = self.q.enqueue(say_hello, args=('Bob',), result_ttl=1) self.w.work(burst=True)
def handle(self, *args, **options): """ The actual logic of the command. Subclasses must implement this method. """ from django.conf import settings from pq.queue import Queue, SerialQueue from pq.worker import Worker sentry_dsn = options.get('sentry_dsn') if not sentry_dsn: sentry_dsn = settings.SENTRY_DSN if hasattr( settings, 'SENTRY_DSN') else None verbosity = int(options.get('verbosity')) queues = [] if options.get('terminate'): workern = [w.name for w in Worker.objects.all()] for worker in Worker.objects.all()[:]: worker.stop = True worker.save() print('Terminating %s ...' % ' '.join(workern)) while Worker.objects.all(): time.sleep(5) return if not args: args = [ q[0] for q in Queue.objects.values_list('name').exclude( name='failed') ] args.sort() if not args: print('There are no queues to work on') sys.exit(1) for queue in args: try: q = Queue.objects.get(name=queue) except Queue.DoesNotExist: print( "The '%s' queue does not exist. Use the pqcreate command to create it." % queue) continue if q.serial: q = SerialQueue.objects.get(name=queue) else: q = Queue.objects.get(name=queue) q.connection = options['connection'] q._saved = True queues.append(q) if queues: w = Worker.create(queues, name=options.get('name'), connection=options['connection']) # Should we configure Sentry? if sentry_dsn: from raven import Client from pq.contrib.sentry import register_sentry client = Client(sentry_dsn) register_sentry(client, w) w.work(burst=options['burst'])
def setUp(self): self.q = Queue() self.q.save() self.fq = get_failed_queue() self.w = Worker.create([self.q])
def setUp(self): self.q = Queue() self.q.enqueue_call(div_by_zero, args=(1, )) w = Worker.create(self.q) w.work(burst=True)
def setUp(self): self.q = Queue() self.q.enqueue_call(div_by_zero, args=(1,)) w = Worker.create(self.q) w.work(burst=True)
def setUp(self): self.q = Queue() self.w = Worker.create([self.q], expires_after=1, default_worker_ttl=1)