From 3a48ac9c6b3841932a03f3d1422f40a7d47a0bf8 Mon Sep 17 00:00:00 2001 From: Robert Einsle Date: Mon, 6 Feb 2017 19:11:32 +0100 Subject: [PATCH] update celery call --- billard/models.py | 12 +++++++++++- billard/tasks.py | 8 ++++++-- caromserver/celery.py | 7 ++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/billard/models.py b/billard/models.py index f1171dd..8bfe549 100644 --- a/billard/models.py +++ b/billard/models.py @@ -3,6 +3,10 @@ from django.db import models from django.contrib.auth.models import User from datetime import datetime from . import utils +from . import tasks +from caromserver import celery +from django.contrib.auth.models import User +from django.db.models.signals import post_save class LocationData(models.Model): @@ -86,4 +90,10 @@ class Accounting(models.Model): class Meta: ordering = ['-time_from'] verbose_name = "Buchhaltungseintrag" - verbose_name_plural = "Buchhaltungseinträge" \ No newline at end of file + verbose_name_plural = "Buchhaltungseinträge" + + +def update_location_data(sender, instance, **kwargs): + tasks.process_location_data.delay() + +post_save.connect(update_location_data, sender=LocationData) diff --git a/billard/tasks.py b/billard/tasks.py index fded6ad..60e93cf 100644 --- a/billard/tasks.py +++ b/billard/tasks.py @@ -4,5 +4,9 @@ from . import models @shared_task -def add(x, y): - return x + y +def process_location_data(): + data = models.LocationData.objects.filter(processed=False) + print(len(data)) + for ld in data: + print(ld) + diff --git a/caromserver/celery.py b/caromserver/celery.py index 8914e86..4659ddc 100644 --- a/caromserver/celery.py +++ b/caromserver/celery.py @@ -1,5 +1,6 @@ from __future__ import absolute_import, unicode_literals import os +import django from celery import Celery # set the default Django settings module for the 'celery' program. @@ -14,7 +15,11 @@ app = Celery('caromserver') app.config_from_object('django.conf:settings') # Load task modules from all registered Django app configs. -#app.autodiscover_tasks() + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "caromserver.settings") +django.setup() + +app.autodiscover_tasks(['billard']) @app.task(bind=True)