Commit 92b2f8ad authored by Vasyl Bodnaruk's avatar Vasyl Bodnaruk

Fix update schedule job if schedule not exists

parent 37b5fa54
#!/bin/bash
cd esi
celery -A esi beat -l info -S django
\ No newline at end of file
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-06-23 13:14
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scraper', '0003_auto_20170616_0634'),
]
operations = [
migrations.AddField(
model_name='job',
name='expression',
field=models.CharField(blank=True, default=None, max_length=255, null=True),
),
migrations.AlterField(
model_name='job',
name='end_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='job',
name='job_uuid',
field=models.CharField(blank=True, default=None, max_length=50, null=True),
),
migrations.AlterField(
model_name='job',
name='start_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-06-26 12:50
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('scraper', '0004_auto_20170623_1314'),
]
operations = [
migrations.RenameField(
model_name='job',
old_name='expression',
new_name='query',
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-04 08:57
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('django_celery_beat', '0001_initial'),
('scraper', '0005_auto_20170626_1250'),
]
operations = [
migrations.AddField(
model_name='job',
name='count',
field=models.IntegerField(blank=None, default=None, null=True),
),
migrations.AddField(
model_name='job',
name='interval',
field=models.CharField(blank=True, choices=[(('DAY',), 'day'), (('WEEK',), 'week'), ('MONTH', 'month')], default=None, max_length=5, null=True),
),
migrations.AddField(
model_name='job',
name='schedule_job',
field=models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_celery_beat.PeriodicTask'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-04 09:58
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scraper', '0006_auto_20170704_0857'),
]
operations = [
migrations.AlterField(
model_name='job',
name='count',
field=models.IntegerField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='job',
name='interval',
field=models.CharField(blank=True, choices=[('DAY', 'day'), ('WEEK', 'week'), ('MONTH', 'month'), ('NON', 'nonstop')], default=None, max_length=5, null=True),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-04 11:00
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('scraper', '0007_auto_20170704_0958'),
]
operations = [
migrations.AlterField(
model_name='job',
name='schedule_job',
field=models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='django_celery_beat.PeriodicTask'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-17 08:46
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scraper', '0008_auto_20170704_1100'),
]
operations = [
migrations.AlterField(
model_name='job',
name='count',
field=models.IntegerField(blank=True, default=1, null=True),
),
migrations.AlterField(
model_name='job',
name='query',
field=models.CharField(blank=True, default='', max_length=255, null=True),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-17 10:45
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scraper', '0009_auto_20170717_0846'),
]
operations = [
migrations.AlterField(
model_name='job',
name='interval',
field=models.CharField(blank=True, choices=[('DAY', 'day'), ('WEEK', 'week'), ('MONTH', 'month'), ('NON', 'nonstop')], default=None, max_length=7, null=True),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.1 on 2017-07-18 08:46
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('scraper', '0010_auto_20170717_1045'),
]
operations = [
migrations.AlterField(
model_name='job',
name='schedule_job',
field=models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_celery_beat.PeriodicTask'),
),
]
......@@ -112,7 +112,7 @@ class EditJobView(UpdateView):
name = request.POST.get('name')
spider = Spider.objects.get(pk=request.POST.get('spider'))
query = request.POST.get('query')
interval = request.POST.get('interval').upper()
interval = request.POST.get('interval', '').upper()
count = request.POST.get('count', 1)
count = 1 if count == '' else int(count)
job = Job.objects.get(pk=request.POST.get('job'))
......@@ -123,6 +123,9 @@ class EditJobView(UpdateView):
if interval:
job.interval = interval
job.count = count
if not job.schedule_job:
job.schedule_job = make_periodic_task(job.id, schedule(interval, count))
else:
job.schedule_job.crontab = update_schedule(schedule(interval, count))
job.schedule_job.save()
job.save()
......
[scrapyd]
eggs_dir = /etc/scrapyd/eggs
logs_dir = /etc/scrapyd/logs
items_dir =
#jobs_to_keep =
dbs_dir = /etc/scrapyd/dbs
max_proc = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
bind_address = 127.0.0.1
http_port = 6800
debug = off
runner = scrapyd.runner
application = scrapyd.app.application
launcher = scrapyd.launcher.Launcher
webroot = scrapyd.website.Root
[services]
schedule.json = scrapyd.webservice.Schedule
cancel.json = scrapyd.webservice.Cancel
addversion.json = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json = scrapyd.webservice.ListSpiders
delproject.json = scrapyd.webservice.DeleteProject
delversion.json = scrapyd.webservice.DeleteVersion
listjobs.json = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus
#!/bin/bash
cd esi
celery -A esi worker -l info
\ 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