diff --git a/service/migrations/0022_lastmlcall.py b/service/migrations/0022_lastmlcall.py new file mode 100644 index 0000000..68fa331 --- /dev/null +++ b/service/migrations/0022_lastmlcall.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2 on 2023-07-15 13:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('service', '0021_auto_20230402_2129'), + ] + + operations = [ + migrations.CreateModel( + name='LastMLCall', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('dt', models.DateTimeField(auto_now_add=True)), + ], + ), + ] diff --git a/service/models.py b/service/models.py index fe1a4f8..c9d2ded 100644 --- a/service/models.py +++ b/service/models.py @@ -104,3 +104,7 @@ class PointDist(models.Model): id1 = models.ForeignKey('PlacementPoint', on_delete=models.CASCADE, null=False, related_name='placement_point_id1') id2 = models.ForeignKey('PlacementPoint', on_delete=models.CASCADE, null=False, related_name='placement_point_id2') distance = models.FloatField(null=False) + + +class LastMLCall(models.Model): + dt = models.DateTimeField(auto_now_add=True) \ No newline at end of file diff --git a/service/tasks.py b/service/tasks.py index 4ee9b28..afdf778 100644 --- a/service/tasks.py +++ b/service/tasks.py @@ -19,15 +19,18 @@ import requests from postamates.settings import AGE_DAY_LIMIT from postamates.settings import DB_URL -from service.models import PlacementPoint +from service.models import PlacementPoint, LastMLCall def log_to_telegram(msg): - requests.post('https://api.telegram.org/bot6275517704:AAHVp_qv9d9NU740JJdOM2fJdgS4r1AgJrw/sendMessage', json={"chat_id": "-555238820", "text": msg}) + requests.post('https://api.telegram.org/bot6275517704:AAHVp_qv9d9NU740JJdOM2fJdgS4r1AgJrw/sendMessage', + json={"chat_id": "-555238820", "text": msg}) @shared_task() def raschet(): + LastMLCall.objects.all().delete() + LastMLCall.objects.create() log_to_telegram('start raschet') try: log_to_telegram('try connect to db') @@ -307,7 +310,6 @@ def raschet(): psycopg2.extras.execute_batch(cursor, sql_update_query, update_records5) conn2.commit() log_to_telegram('end raschet') - @shared_task() diff --git a/service/views.py b/service/views.py index 17727b7..6a591eb 100644 --- a/service/views.py +++ b/service/views.py @@ -220,6 +220,10 @@ class PlacementPointViewSet(ReadOnlyModelViewSet): raschet.delay() return Response('Sucess', status=HTTPStatus.OK) + @action(detail=False, methods=['get']) + def last_time_ml_run(self, request): + return Response({'last_time': models.LastMLCall.objects.first().dt}, status=HTTPStatus.OK) + class refresh_placement_points(APIView): @staticmethod