Navigation | Overlay |
---|---|
t Navigate files | h Toggle hits |
y Change url to tip of branch | m Toggle misses |
b / v Jump to prev/next hit line | p Toggle partial |
z / x Jump to prev/next missed or partial line | 1..9 Toggle flags |
shift + o Open current page in GitHub | a Toggle all on |
/ or ? Show keyboard shortcuts dialog | c Toggle context lines or commits |
1 |
# Python
|
|
2 | 6 |
import logging |
3 |
|
|
4 | 6 |
from django.conf import settings |
5 |
|
|
6 |
# Celery
|
|
7 | 6 |
from celery import Task, shared_task, current_app |
8 |
|
|
9 | 6 |
from elasticsearch import Elasticsearch |
10 |
|
|
11 |
# CyBorgBackup
|
|
12 | 6 |
from cyborgbackup.main.utils.task_manager import TaskManager |
13 |
|
|
14 | 6 |
logger = logging.getLogger('cyborgbackup.main.utils.task_manager') |
15 |
|
|
16 |
|
|
17 | 6 |
class LogErrorsTask(Task): |
18 | 6 |
def on_failure(self, exc, task_id, args, kwargs, einfo): |
19 |
logger.exception('Task {} encountered exception.'.format(self.name), exc_info=exc) |
|
20 |
super(LogErrorsTask, self).on_failure(exc, task_id, args, kwargs, einfo) |
|
21 |
|
|
22 |
|
|
23 | 6 |
def catalog_is_running(): |
24 |
try: |
|
25 |
es_conf = settings.ELASTICSEARCH_DSL['default']['hosts'].split(':') |
|
26 |
es = Elasticsearch([{'host': es_conf[0], 'port': int(es_conf[1])}], max_retries=0) |
|
27 |
es.cluster.state() |
|
28 |
return True |
|
29 |
except Exception: |
|
30 |
return False |
|
31 |
|
|
32 |
|
|
33 | 6 |
def celery_worker_is_running(): |
34 |
if len(current_app.control.ping()) > 0: |
|
35 |
return True |
|
36 |
else: |
|
37 |
return False |
|
38 |
|
|
39 |
|
|
40 | 6 |
@shared_task(base=LogErrorsTask) |
41 |
def run_job_launch(job_id): |
|
42 |
TaskManager().schedule() |
|
43 |
|
|
44 |
|
|
45 | 6 |
@shared_task(base=LogErrorsTask) |
46 |
def run_job_complete(job_id): |
|
47 |
TaskManager().schedule() |
|
48 |
|
|
49 |
|
|
50 | 6 |
@shared_task(base=LogErrorsTask) |
51 |
def run_task_manager(): |
|
52 |
logger.debug("Running CyBorgBackup task manager.") |
|
53 |
TaskManager().schedule() |
Read our documentation on viewing source code .