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()
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()
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))
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)
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()