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
9b87a93c
Commit
9b87a93c
authored
Jul 12, 2017
by
Vasyl Bodnaruk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean making periodic task
parent
01c40a7b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
24 deletions
+30
-24
tasks.py
esi/scraper/tasks.py
+3
-2
views.py
esi/scraper/views.py
+27
-22
No files found.
esi/scraper/tasks.py
View file @
9b87a93c
...
...
@@ -13,8 +13,9 @@ def add(x, y):
@
shared_task
def
run_job
(
job_id
):
api
=
Service
()
print
(
'RUN spider'
)
job
=
Job
.
objects
.
get
(
pk
=
job_id
)
print
(
'RUN spider'
,
job_id
)
job
=
Job
.
objects
.
get
(
id
=
job_id
)
print
(
job
)
# run job nonstop
if
job
.
status
==
Job
.
FINISHED
and
job
.
interval
==
Job
.
NON
:
...
...
esi/scraper/views.py
View file @
9b87a93c
...
...
@@ -60,7 +60,6 @@ class JobListView(ListView):
return
JsonResponse
(
self
.
service
.
restart_job
(
job_id
))
if
action
==
'log'
:
log
=
self
.
service
.
get_log
(
job_id
)
# return HttpResponse(log, content_type='text/plain')
return
FileResponse
(
log
)
...
...
@@ -77,32 +76,16 @@ class NewJobCreateView(CreateView):
spider
=
Spider
.
objects
.
get
(
pk
=
request
.
POST
.
get
(
'spider'
))
query
=
request
.
POST
.
get
(
'query'
)
job
=
Job
.
objects
.
create
(
name
=
name
,
spider
=
spider
,
query
=
query
)
if
request
.
POST
.
get
(
'date'
):
date
=
self
.
_date_format
(
request
.
POST
.
get
(
'date'
))
data
=
{
'minute'
:
date
.
minute
,
'hour'
:
date
.
hour
,
'day_of_month'
:
date
.
day
,
'month_of_year'
:
date
.
month
}
job
.
schedule_job
=
make_periodic_task
(
job
.
id
,
data
)
interval
=
request
.
POST
.
get
(
'interval'
)
every
=
request
.
POST
.
get
(
'count'
)
job
.
schedule_job
=
make_periodic_task
(
job
.
id
,
schedule
(
interval
,
every
))
job
.
save
()
if
query
==
'j'
:
query
=
''
return
HttpResponseRedirect
(
reverse
(
'job_list'
))
def
_date_format
(
self
,
date
):
tp
=
date
[
-
3
:]
date
=
datetime
.
strptime
(
date
[:
-
3
],
"
%
m/
%
d/
%
Y
%
H:
%
M"
)
if
'PM'
in
tp
:
# TODO need make refactor, because here can be bug
if
date
.
hour
==
12
:
return
date
h
=
date
.
hour
+
12
if
date
.
hour
<
12
else
0
return
date
.
replace
(
hour
=
h
)
return
date
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
class
EditJobView
(
UpdateView
):
...
...
@@ -120,3 +103,25 @@ class EditJobView(UpdateView):
job
=
Job
.
objects
.
filter
(
pk
=
request
.
POST
.
get
(
'job'
))
job
.
update
(
name
=
name
,
spider
=
spider
,
query
=
query
)
return
HttpResponseRedirect
(
reverse
(
'edit_job'
,
kwargs
=
{
'id'
:
request
.
POST
.
get
(
'job'
)}))
def
schedule
(
interval
,
every
):
DAY
=
'day'
WEEK
=
'week'
MONTH
=
'month'
scheduler
=
{
'minute'
:
0
,
'hour'
:
0
,
'day_of_month'
:
'*'
,
'month_of_year'
:
'*'
,
'day_of_week'
:
'*'
}
if
interval
==
DAY
:
pass
if
interval
==
WEEK
:
pass
if
interval
==
MONTH
:
pass
return
scheduler
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