[Fixture] 添加task list 搜索,重试

This commit is contained in:
ibuler
2017-03-22 21:57:05 +08:00
parent a4504dc0c7
commit caec9709ef
12 changed files with 100 additions and 154 deletions

View File

@@ -17,7 +17,8 @@ logger = get_logger(__file__)
def run_AdHoc(task_tuple, assets,
task_name='Ansible AdHoc runner',
task_id=None, pattern='all', record=True):
task_id=None, pattern='all',
record=True, verbose=False):
if not assets:
logger.warning('Empty assets, runner cancel')
@@ -29,26 +30,28 @@ def run_AdHoc(task_tuple, assets,
runner = AdHocRunner(assets)
if record:
from .models import TaskRecord
if not TaskRecord.objects.filter(uuid=task_id):
record = TaskRecord(uuid=task_id,
name=task_name,
assets=','.join(str(asset['id']) for asset in assets),
module_args=task_tuple,
pattern=pattern)
from .models import Task
if not Task.objects.filter(uuid=task_id):
record = Task(uuid=task_id,
name=task_name,
assets=','.join(str(asset['id']) for asset in assets),
module_args=task_tuple,
pattern=pattern)
record.save()
else:
record = TaskRecord.objects.get(uuid=task_id)
record = Task.objects.get(uuid=task_id)
record.date_start = timezone.now()
ts_start = time.time()
logger.warn('Start runner {}'.format(task_name))
if verbose:
logger.debug('Start runner {}'.format(task_name))
result = runner.run(task_tuple, pattern=pattern, task_name=task_name)
timedelta = round(time.time() - ts_start, 2)
summary = runner.clean_result()
if record:
record.date_finished = timezone.now()
record.is_finished = True
record.result = json.dumps(result)
if verbose:
record.result = json.dumps(result)
record.summary = json.dumps(summary)
record.timedelta = timedelta
if len(summary['failed']) == 0:
@@ -57,21 +60,3 @@ def run_AdHoc(task_tuple, assets,
record.is_success = False
record.save()
return summary, result
def rerun_AdHoc(task_id):
from .models import TaskRecord
record = TaskRecord.objects.get(uuid=task_id)
assets = record.assets_json
task_tuple = record.module_args
pattern = record.pattern
task_name = record.name
return run_AdHoc(task_tuple, assets, pattern=pattern,
task_name=task_name, task_id=task_id)