diff options
author | maxbr <maxbr@mi.fu-berlin.de> | 2017-01-05 12:36:54 +0100 |
---|---|---|
committer | maxbr <maxbr@mi.fu-berlin.de> | 2017-01-05 12:36:54 +0100 |
commit | 85623f2e6a4e4bee61ac5c28ce04bf9532980094 (patch) | |
tree | 61327148ccb024cf55bcffa1cdf4d16d7c848e37 /tools/pharos-dashboard/src/notification/tasks.py | |
parent | 55c3b53ba08b2c6cf3c392b10a065a3076525951 (diff) |
Add library for dashboard notification System
JIRA: PHAROS-265
Change-Id: Ia33235c5160ef6b36b27a6fe1a2eb97a45e72367
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
Diffstat (limited to 'tools/pharos-dashboard/src/notification/tasks.py')
-rw-r--r-- | tools/pharos-dashboard/src/notification/tasks.py | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/tools/pharos-dashboard/src/notification/tasks.py b/tools/pharos-dashboard/src/notification/tasks.py index 4173433c..e2b34ca9 100644 --- a/tools/pharos-dashboard/src/notification/tasks.py +++ b/tools/pharos-dashboard/src/notification/tasks.py @@ -8,6 +8,8 @@ ############################################################################## +import os +import sys from datetime import timedelta from celery import shared_task @@ -15,19 +17,33 @@ from django.conf import settings from django.utils import timezone from notification.models import BookingNotification -from notification_framework.notification import Notification + +# this adds the top level directory to the python path, this is needed so that we can access the +# notification library +sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..')) + +from dashboard_notification.notification import Notification, Message @shared_task def send_booking_notifications(): - messaging = Notification(dashboard_url=settings.RABBITMQ_URL) - - now = timezone.now() - notifications = BookingNotification.objects.filter(submitted=False, - submit_time__gt=now, - submit_time__lt=now + timedelta(minutes=5)) - for notification in notifications: - messaging.send(notification.type, notification.booking.resource.name, - notification.get_content()) - notification.submitted = True - notification.save() + with Notification(dashboard_url=settings.RABBITMQ_URL) as messaging: + now = timezone.now() + notifications = BookingNotification.objects.filter(submitted=False, + submit_time__gt=now - timedelta(minutes=1), + submit_time__lt=now + timedelta(minutes=5)) + for notification in notifications: + message = Message(type=notification.type, topic=notification.booking.resource.name, + content=notification.get_content()) + messaging.send(message) + notification.submitted = True + notification.save() + +@shared_task +def notification_debug(): + with Notification(dashboard_url=settings.RABBITMQ_URL) as messaging: + notifications = BookingNotification.objects.all() + for notification in notifications: + message = Message(type=notification.type, topic=notification.booking.resource.name, + content=notification.get_content()) + messaging.send(message) |