Created
December 18, 2025 09:10
-
-
Save gartmeier/cc59ecec108d915860128653d335abe8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # views.py | |
| from django.http import JsonResponse | |
| from django.views.decorators.csrf import csrf_exempt | |
| from django.views.decorators.http import require_POST | |
| import json | |
| from .models import Measurement | |
| from .tasks import process_measurement_batch | |
| @csrf_exempt | |
| @require_POST | |
| def batch_measurements(request): | |
| data = json.loads(request.body) | |
| measurements = data.get('measurements', []) | |
| # Bulk insert | |
| objects = [ | |
| Measurement( | |
| vehicle_id=m['vehicle_id'], | |
| timestamp=m['timestamp'], | |
| d1=m['d1'], | |
| speed=m['speed'], | |
| ) | |
| for m in measurements | |
| ] | |
| created = Measurement.objects.bulk_create(objects) | |
| # Queue for trip processing | |
| process_measurement_batch.delay([obj.id for obj in created]) | |
| return JsonResponse({'created': len(created)}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment