Commit 0bc69a73 authored by Vasyl Bodnaruk's avatar Vasyl Bodnaruk

for test server

parent a860c292
......@@ -70,3 +70,13 @@ class Job(models.Model):
def __str__(self):
return self.name
def json(self):
return {
'name': self.name,
'uuid': self.job_uuid,
'create_time': self.create_time,
'start_time': self.start_time,
'end_time': self.end_time,
'status': self.status
}
......@@ -21,23 +21,26 @@ class Service:
def run_job(self, job):
job = Job.objects.get(pk=job)
uuid = self.api.schedule('exa', job.spider.sp_name)
job.job_uuid = uuid
# uuid = self.api.schedule('exa', job.spider.sp_name)
# job.job_uuid = uuid
job.start_time = datetime.now()
job.status = 'RUN'
job.save()
return job.json()
def cancel_job(self, job):
job = Job.objects.get(pk=job)
self.api.cancel('exa', job.job_uuid)
# self.api.cancel('exa', job.job_uuid)
job.end_time = datetime.now()
job.status = 'FIN'
job.save()
return job.json()
def delete_job(self, job):
job = Job.objects.get(pk=job)
job.status = 'DEL'
job.save()
return job.json()
def get_log(self, job):
job = Job.objects.get(pk=job)
......
from django.shortcuts import render, HttpResponseRedirect, reverse, HttpResponse
from django.http import JsonResponse
from django.views.generic import ListView, CreateView
from .models import Spider, Job
......@@ -24,22 +25,25 @@ class JobListView(ListView):
return render(request, self.template_name, {'jobs': jobs})
def post(self, request, *args, **kwargs):
if request.is_ajax():
action = request.POST.get('action')
job_id = request.POST.get('job_id')
job_id = request.POST.get('id')
self._logic(action, job_id)
def _logic(self, action, job_id):
if action == 'run':
self.service.run_job(job_id)
return JsonResponse(self.service.run_job(job_id))
if action == 'cancel':
self.service.cancel_job(job_id)
return JsonResponse(self.service.cancel_job(job_id))
if action == 'update':
self.service.update_jobs_status()
if action == 'delete':
self.service.delete_job(job_id)
return JsonResponse(self.service.delete_job(job_id))
if action == 'new':
return HttpResponseRedirect(reverse('new_job'))
if action == 'log':
log = self.service.get_log(job_id)
return HttpResponse(log, content_type='text/plain')
return HttpResponseRedirect(reverse('job_list'))
......
......@@ -32,7 +32,7 @@
</thead>
<tbody>
{% for i in jobs.pending %}
<tr id="pending-{{ i.id }}">
<tr id="{{ i.id }}">
<td data-col="job">{{ i.name }}</td>
<td data-col="uuid">{{ i.job_uuid }}</td>
<td data-col="created-date">{{ i.create_time }}</td>
......
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