Skip to main content

Email async notifications with celery.

Project description

Async notifications

Email notification with celery and administrative view for send email with delay e.g daily

Features

  • Celery integration

  • Administrative view

  • Enqueued mail system and instantly send

  • Problems notification

  • User filter email

  • Template system with template context

  • Send to User, Group or external email

  • Django cms integration (djcms_async_notifications) and standalone.

Installation

  1. Install from pip

    $ pip install async_notifications
  2. Insert async_notifications in your settings INSTALLED_APPS

  3. It’s really important set CELERY_MODULE pointing to your project celery file, because it’s needed for assing task to the current project, and configure some default celery options

            from __future__ import absolute_import
    
    CELERY_MODULE = "demo.celery"
    CELERY_TIMEZONE = TIME_ZONE
    CELERY_ACCEPT_CONTENT = ['pickle', 'json']
    
    from celery.schedules import crontab
    
    CELERYBEAT_SCHEDULE = {
        # execute 12:30 pm
        'send_daily_emails': {
            'task': 'async_notifications.tasks.send_daily',
            'schedule': crontab(minute=30, hour=0),
        },
    }
  4. Configure your email settings, e.g for development

    DEFAULT_FROM_EMAIL="mail@example.com"
    EMAIL_HOST="localhost"
    EMAIL_PORT="1025"
  5. Run migrations

    $ python manage.py migrate

Runing the project

You need to run 3 subsystems for run this app so you need 3 xterm, for this explanation I will use the demo project

  1. Run smtp debug client

    $ python -m smtpd -n -c DebuggingServer localhost:1025
  2. Run celery, if you aren’t setup celery yet see celery documentation.

    $ celery -A demo worker -l info -B
  3. Run django

    $ python manage.py runserver

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

async_notifications-0.0.9.tar.gz (23.9 kB view details)

Uploaded Source

File details

Details for the file async_notifications-0.0.9.tar.gz.

File metadata

File hashes

Hashes for async_notifications-0.0.9.tar.gz
Algorithm Hash digest
SHA256 b770ddcf05903ad661f487908501928a95e04b393189455b72a4860d6732e1cd
MD5 948f3a415652469ac3f0bd71ed23475f
BLAKE2b-256 c597e3adab03fbadc2bb80028fb4fc38c93fd2853254c3e963a27024709db33a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page