Revision fd3870ee cron_notify_expired.py
b/cron_notify_expired.py | ||
---|---|---|
1 |
from django.core.management import setup_environ |
|
2 |
import settings |
|
3 |
setup_environ(settings) |
|
4 |
from django.core.mail import send_mail |
|
5 |
from flowspy.flowspec.models import * |
|
6 |
from django.template.loader import render_to_string |
|
7 |
import datetime |
|
8 |
|
|
9 |
|
|
10 |
def notify_expired(): |
|
11 |
routes = Route.objects.all() |
|
12 |
for route in routes: |
|
13 |
if route.status != 'EXPIRED': |
|
14 |
expiration_days = (route.expires - datetime.date.today()).days |
|
15 |
if expiration_days < settings.EXPIRATION_NOTIFY_DAYS: |
|
16 |
try: |
|
17 |
mail_body = render_to_string("rule_expiration.txt", |
|
18 |
{"route": route, 'expiration_days':expiration_days}) |
|
19 |
send_mail(settings.EMAIL_SUBJECT_PREFIX + "Rule %s expires in %s days" % |
|
20 |
(route.name,expiration_days), |
|
21 |
mail_body, settings.SERVER_EMAIL, |
|
22 |
[route.applier.email]) |
|
23 |
except Exception as e: |
|
24 |
print e |
|
25 |
pass |
|
26 |
|
|
27 |
if __name__ == "__main__": |
|
28 |
notify_expired() |
|
29 |
|
Also available in: Unified diff