diff --git a/apps/news/views.py b/apps/news/views.py index 081f5a62..1e24971f 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -34,6 +34,14 @@ class NewsDetailView(NewsMixinView, generics.RetrieveAPIView): """Override get_queryset method.""" return super().get_queryset().with_extended_related() + def get(self, request, *args, **kwargs): + from rating.tasks import add_rating + print('SLUG') + add_rating.apply_async( + (1, '192.1.1.1.'), countdown=4 + ) + return self.retrieve(request, *args, **kwargs) + class NewsTypeListView(generics.ListAPIView): """NewsType list view.""" diff --git a/apps/rating/admin.py b/apps/rating/admin.py index 94a0435e..d8d46ae9 100644 --- a/apps/rating/admin.py +++ b/apps/rating/admin.py @@ -1,5 +1,11 @@ from django.contrib import admin from rating import models +from rating import tasks + +# +# def add_task_action(modeladmin, request, queryset): +# # 1, "192.168.1.1" +# tasks.add.delay(1, "192.168.1.1") @admin.register(models.Rating) @@ -7,3 +13,6 @@ class RatingAdmin(admin.ModelAdmin): """Rating type admin conf.""" list_display = ['name', 'ip'] list_display_links = ['name'] + # actions = [add_task_action] + + diff --git a/apps/rating/send.py b/apps/rating/send.py new file mode 100644 index 00000000..06e5daff --- /dev/null +++ b/apps/rating/send.py @@ -0,0 +1,14 @@ +from pika import BlockingConnection, ConnectionParameters + + +def mess(): + connection = BlockingConnection(ConnectionParameters('rabbitmq')) + channel = connection.channel() + + channel.queue_declare(queue='rating') + channel.basic_publish( + exchange='', + routing_key='rating', + body='{news_id:127.0.0.1}' + ) + connection.close() \ No newline at end of file diff --git a/apps/rating/tasks.py b/apps/rating/tasks.py new file mode 100644 index 00000000..d3d2216c --- /dev/null +++ b/apps/rating/tasks.py @@ -0,0 +1,14 @@ +from datetime import timedelta +from celery.task import periodic_task, Task +from celery import task + + + + + +@task +def add_rating(object_id, ip): + print('object_id: ' + str(object_id)) + print('ip: ' + str(ip)) + +