Example #1
0
    def handle(self, verbosity, **options):
        # If this is just a count request the just calculate, report and exit.
        if options['count']:
            queued = models.QueuedMessage.objects.non_deferred().count()
            deferred = models.QueuedMessage.objects.deferred().count()
            sys.stdout.write('%s queued message%s (and %s deferred message%s).'
                             '\n' % (queued, queued != 1 and 's' or '',
                                     deferred, deferred != 1 and 's' or ''))
            sys.exit()

        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        # if PAUSE_SEND is turned on don't do anything.
        if not settings.PAUSE_SEND:
            send_all(options['block_size'], backend=settings.USE_BACKEND, message_limit=options['message_limit'])
        else:
            logger = logging.getLogger('django_yubin.commands.send_mail')
            logger.warning("Sending is paused, exiting without sending "
                           "queued mail.")

        logger.removeHandler(handler)

        # Stop superfluous "unexpected EOF on client connection" errors in
        # Postgres log files caused by the database connection not being
        # explicitly closed.
        connection.close()
Example #2
0
    def handle_noargs(self, verbosity, block_size, count, **options):
        # If this is just a count request the just calculate, report and exit.
        if count:
            queued = models.QueuedMessage.objects.non_deferred().count()
            deferred = models.QueuedMessage.objects.deferred().count()
            sys.stdout.write('%s queued message%s (and %s deferred message%s).'
                             '\n' % (queued, queued != 1 and 's' or '',
                                     deferred, deferred != 1 and 's' or ''))
            sys.exit()

        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        # if PAUSE_SEND is turned on don't do anything.
        if not settings.PAUSE_SEND:
            if EMAIL_BACKEND_SUPPORT:
                send_all(block_size, backend=settings.USE_BACKEND)
            else:
                send_all(block_size)
        else:
            logger = logging.getLogger('django_yubin.commands.send_mail')
            logger.warning("Sending is paused, exiting without sending "
                           "queued mail.")

        logger.removeHandler(handler)

        # Stop superfluous "unexpected EOF on client connection" errors in
        # Postgres log files caused by the database connection not being
        # explicitly closed.
        connection.close()
Example #3
0
    def handle(self, verbosity, days, **options):
        # Delete mails and their related logs and queued created before X days
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        today = datetime.date.today()
        cutoff_date = today - datetime.timedelta(days)
        count = Message.objects.filter(date_created__lt=cutoff_date).count()
        Message.objects.filter(date_created__lt=cutoff_date).delete()
        logger.warning("Deleted %s mails created before %s " %
                       (count, cutoff_date))
Example #4
0
    def handle(self, verbosity, days, **options):
        # Delete mails and their related logs and queued created before X days
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        today = datetime.date.today()
        cutoff_date = today - datetime.timedelta(days)
        count = Message.objects.filter(date_created__lt=cutoff_date).count()
        Message.objects.filter(date_created__lt=cutoff_date).delete()
        logger.warning("Deleted %s mails created before %s " %
                       (count, cutoff_date))
Example #5
0
    def handle_noargs(self, verbosity, max_retries=None, **options):
        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        count = models.QueuedMessage.objects.retry_deferred(
                                                    max_retries=max_retries)
        logger = logging.getLogger('django_yubin.commands.retry_deferred')
        logger.warning("%s deferred message%s placed back in the queue" %
                       (count, count != 1 and 's' or ''))

        logger.removeHandler(handler)
Example #6
0
    def handle_noargs(self, verbosity, max_retries=None, **options):
        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        count = models.QueuedMessage.objects.retry_deferred(
            max_retries=max_retries)
        logger = logging.getLogger('django_yubin.commands.retry_deferred')
        logger.warning("%s deferred message%s placed back in the queue" %
                       (count, count != 1 and 's' or ''))

        logger.removeHandler(handler)
Example #7
0
    def handle(self, verbosity, **options):
        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        count = models.QueuedMessage.objects.retry_deferred(
                                            max_retries=options['max_retries'])
        logger = logging.getLogger('django_yubin.commands.retry_deferred')
        if count:
            logger.info("%s deferred message%s placed back in the queue" %
                        (count, count != 1 and 's' or ''))

        logger.removeHandler(handler)
        connection.close()
    def handle(self, verbosity, **options):
        # Send logged messages to the console.
        logger = logging.getLogger('django_yubin')
        handler = create_handler(verbosity)
        logger.addHandler(handler)

        count = models.QueuedMessage.objects.retry_deferred(
            max_retries=options['max_retries'])
        logger = logging.getLogger('django_yubin.commands.retry_deferred')
        if count:
            logger.info("%s deferred message%s placed back in the queue" %
                        (count, count != 1 and 's' or ''))

        logger.removeHandler(handler)
        connection.close()