Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
E
esi-table-data
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esi-data-scrapping
esi-table-data
Commits
0bc69a73
Commit
0bc69a73
authored
Jun 21, 2017
by
Vasyl Bodnaruk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
for test server
parent
a860c292
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
10 deletions
+27
-10
models.py
esi/scraper/models.py
+10
-0
service.py
esi/scraper/service.py
+6
-3
views.py
esi/scraper/views.py
+10
-6
job_list.html
esi/templates/job_list.html
+1
-1
No files found.
esi/scraper/models.py
View file @
0bc69a73
...
@@ -70,3 +70,13 @@ class Job(models.Model):
...
@@ -70,3 +70,13 @@ class Job(models.Model):
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
name
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
}
esi/scraper/service.py
View file @
0bc69a73
...
@@ -21,23 +21,26 @@ class Service:
...
@@ -21,23 +21,26 @@ class Service:
def
run_job
(
self
,
job
):
def
run_job
(
self
,
job
):
job
=
Job
.
objects
.
get
(
pk
=
job
)
job
=
Job
.
objects
.
get
(
pk
=
job
)
uuid
=
self
.
api
.
schedule
(
'exa'
,
job
.
spider
.
sp_name
)
#
uuid = self.api.schedule('exa', job.spider.sp_name)
job
.
job_uuid
=
uuid
#
job.job_uuid = uuid
job
.
start_time
=
datetime
.
now
()
job
.
start_time
=
datetime
.
now
()
job
.
status
=
'RUN'
job
.
status
=
'RUN'
job
.
save
()
job
.
save
()
return
job
.
json
()
def
cancel_job
(
self
,
job
):
def
cancel_job
(
self
,
job
):
job
=
Job
.
objects
.
get
(
pk
=
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
.
end_time
=
datetime
.
now
()
job
.
status
=
'FIN'
job
.
status
=
'FIN'
job
.
save
()
job
.
save
()
return
job
.
json
()
def
delete_job
(
self
,
job
):
def
delete_job
(
self
,
job
):
job
=
Job
.
objects
.
get
(
pk
=
job
)
job
=
Job
.
objects
.
get
(
pk
=
job
)
job
.
status
=
'DEL'
job
.
status
=
'DEL'
job
.
save
()
job
.
save
()
return
job
.
json
()
def
get_log
(
self
,
job
):
def
get_log
(
self
,
job
):
job
=
Job
.
objects
.
get
(
pk
=
job
)
job
=
Job
.
objects
.
get
(
pk
=
job
)
...
...
esi/scraper/views.py
View file @
0bc69a73
from
django.shortcuts
import
render
,
HttpResponseRedirect
,
reverse
,
HttpResponse
from
django.shortcuts
import
render
,
HttpResponseRedirect
,
reverse
,
HttpResponse
from
django.http
import
JsonResponse
from
django.views.generic
import
ListView
,
CreateView
from
django.views.generic
import
ListView
,
CreateView
from
.models
import
Spider
,
Job
from
.models
import
Spider
,
Job
...
@@ -24,22 +25,25 @@ class JobListView(ListView):
...
@@ -24,22 +25,25 @@ class JobListView(ListView):
return
render
(
request
,
self
.
template_name
,
{
'jobs'
:
jobs
})
return
render
(
request
,
self
.
template_name
,
{
'jobs'
:
jobs
})
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
action
=
request
.
POST
.
get
(
'action'
)
if
request
.
is_ajax
():
job_id
=
request
.
POST
.
get
(
'job_id'
)
action
=
request
.
POST
.
get
(
'action'
)
job_id
=
request
.
POST
.
get
(
'id'
)
self
.
_logic
(
action
,
job_id
)
def
_logic
(
self
,
action
,
job_id
):
if
action
==
'run'
:
if
action
==
'run'
:
self
.
service
.
run_job
(
job_id
)
return
JsonResponse
(
self
.
service
.
run_job
(
job_id
)
)
if
action
==
'cancel'
:
if
action
==
'cancel'
:
self
.
service
.
cancel_job
(
job_id
)
return
JsonResponse
(
self
.
service
.
cancel_job
(
job_id
)
)
if
action
==
'update'
:
if
action
==
'update'
:
self
.
service
.
update_jobs_status
()
self
.
service
.
update_jobs_status
()
if
action
==
'delete'
:
if
action
==
'delete'
:
self
.
service
.
delete_job
(
job_id
)
return
JsonResponse
(
self
.
service
.
delete_job
(
job_id
)
)
if
action
==
'new'
:
if
action
==
'new'
:
return
HttpResponseRedirect
(
reverse
(
'new_job'
))
return
HttpResponseRedirect
(
reverse
(
'new_job'
))
if
action
==
'log'
:
if
action
==
'log'
:
log
=
self
.
service
.
get_log
(
job_id
)
log
=
self
.
service
.
get_log
(
job_id
)
return
HttpResponse
(
log
,
content_type
=
'text/plain'
)
return
HttpResponse
(
log
,
content_type
=
'text/plain'
)
return
HttpResponseRedirect
(
reverse
(
'job_list'
))
return
HttpResponseRedirect
(
reverse
(
'job_list'
))
...
...
esi/templates/job_list.html
View file @
0bc69a73
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
</thead>
</thead>
<tbody>
<tbody>
{% for i in jobs.pending %}
{% for i in jobs.pending %}
<tr
id=
"
pending-
{{ i.id }}"
>
<tr
id=
"{{ i.id }}"
>
<td
data-col=
"job"
>
{{ i.name }}
</td>
<td
data-col=
"job"
>
{{ i.name }}
</td>
<td
data-col=
"uuid"
>
{{ i.job_uuid }}
</td>
<td
data-col=
"uuid"
>
{{ i.job_uuid }}
</td>
<td
data-col=
"created-date"
>
{{ i.create_time }}
</td>
<td
data-col=
"created-date"
>
{{ i.create_time }}
</td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment