Commit f8cfc1f2 authored by Vasyl Bodnaruk's avatar Vasyl Bodnaruk

add beat scheduler for work with periodic task

parent cdee0b00
......@@ -39,6 +39,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
'el_pagination',
'corsheaders',
'django_celery_beat',
'webapp.apps.WebappConfig',
'main.apps.MainConfig',
......
from django_celery_beat.models import PeriodicTask, CrontabSchedule
schedule, _ = CrontabSchedule.objects.get_or_create(
minute='1',
hour='*',
day_of_week='*',
day_of_month='*',
month_of_year='*',
)
PeriodicTask.objects.create(
crontab=schedule,
name='Importing contacts',
task='scraper.tasks.add',
args=[23, 27]
)
from __future__ import absolute_import, unicode_literals
from celery import shared_task
from .service import Service
@shared_task
def add(x, y):
print('ADDDDDDDDDDDDD')
return x + y
@shared_task
def mul(x, y):
return x * y
@shared_task
def xsum(numbers):
return sum(numbers)
def run_job(job):
api = Service()
print('RUN spider')
api.run_job(job)
return 'spider was running'
import json
from django.shortcuts import render, HttpResponseRedirect, reverse, HttpResponse
from django.http import JsonResponse
from django.views.generic import ListView, CreateView, UpdateView
......@@ -67,6 +68,7 @@ class NewJobCreateView(CreateView):
name = request.POST.get('name')
spider = Spider.objects.get(pk=request.POST.get('spider'))
query = request.POST.get('query')
Job.objects.create(name=name, spider=spider, query=query)
return HttpResponseRedirect(reverse('job_list'))
......
......@@ -11,3 +11,4 @@ django-el-pagination==3.1.0
django-cors-headers==2.1.0
celery==4.0.2
flower==0.9.2
django-celery-beat==1.0.1
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment