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.7.tar.gz (24.0 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for async_notifications-0.0.7.tar.gz
Algorithm Hash digest
SHA256 6b4cb40ea30056ddbc7527912bf9850596aae31af27e52891b9385fef7f191b9
MD5 755abcf7121b01bf08f7e1aeb9c1ee90
BLAKE2b-256 d84c9940374f4aaceedbdbadac627eb5b37a80bf4bfc28dbb3f75a9580aef135

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