@@ -1,21 +1,38 | |||||
1 | from __future__ import absolute_import |
|
1 | from __future__ import absolute_import | |
2 |
|
2 | |||
3 | from celery import task |
|
3 | from celery import task | |
|
4 | from datetime import timedelta, datetime | |||
4 |
|
5 | |||
5 | from .models import Experiment |
|
6 | from .models import Experiment | |
6 |
|
7 | |||
7 | @task |
|
8 | @task | |
8 | def task_start(id_exp): |
|
9 | def task_start(id_exp): | |
9 |
|
10 | |||
10 | exp = Experiment.objects.get(pk=id_exp) |
|
11 | exp = Experiment.objects.get(pk=id_exp) | |
11 |
|
12 | |||
12 | return exp.start() |
|
13 | return exp.start() | |
13 |
|
14 | |||
14 | @task |
|
15 | @task | |
15 | def task_stop(id_exp): |
|
16 | def task_stop(id_exp): | |
16 |
|
17 | |||
17 | exp = Experiment.objects.get(pk=id_exp) |
|
18 | exp = Experiment.objects.get(pk=id_exp) | |
18 |
|
19 | |||
19 | return exp.stop() |
|
20 | return exp.stop() | |
20 |
|
||||
21 |
|
21 | |||
|
22 | ||||
|
23 | #Task to get status | |||
|
24 | @task | |||
|
25 | def task_status(id_exp): | |||
|
26 | ||||
|
27 | exp = Experiment.objects.get(pk=id_exp) | |||
|
28 | if exp.status==2: | |||
|
29 | run_every = timedelta(minutes=1) | |||
|
30 | now = datetime.utcnow() | |||
|
31 | date = now + run_every | |||
|
32 | task_status.apply_async((id_exp,), eta=date) | |||
|
33 | print "Monitoring..." | |||
|
34 | exp.get_status() | |||
|
35 | return exp.status | |||
|
36 | ||||
|
37 | else: | |||
|
38 | return exp.status |
General Comments 0
You need to be logged in to leave comments.
Login now