本文整理汇总了Python中corehq.apps.hqadmin.models.HqDeploy.get_list方法的典型用法代码示例。如果您正苦于以下问题:Python HqDeploy.get_list方法的具体用法?Python HqDeploy.get_list怎么用?Python HqDeploy.get_list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corehq.apps.hqadmin.models.HqDeploy
的用法示例。
在下文中一共展示了HqDeploy.get_list方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: loadtest
# 需要导入模块: from corehq.apps.hqadmin.models import HqDeploy [as 别名]
# 或者: from corehq.apps.hqadmin.models.HqDeploy import get_list [as 别名]
def loadtest(request):
# The multimech results api is kinda all over the place.
# the docs are here: http://testutils.org/multi-mechanize/datastore.html
scripts = ["submit_form.py", "ota_restore.py"]
tests = []
# datetime info seems to be buried in GlobalConfig.results[0].run_id,
# which makes ORM-level sorting problematic
for gc in Session.query(GlobalConfig).all()[::-1]:
gc.scripts = dict((uc.script, uc) for uc in gc.user_group_configs)
if gc.results:
for script, uc in gc.scripts.items():
uc.results = filter(lambda res: res.user_group_name == uc.user_group, gc.results)
test = {"datetime": gc.results[0].run_id, "run_time": gc.run_time, "results": gc.results}
for script in scripts:
test[script.split(".")[0]] = gc.scripts.get(script)
tests.append(test)
context = get_hqadmin_base_context(request)
context.update({"tests": tests, "hide_filters": True})
date_axis = Axis(label="Date", dateFormat="%m/%d/%Y")
tests_axis = Axis(label="Number of Tests in 30s")
chart = LineChart("HQ Load Test Performance", date_axis, tests_axis)
submit_data = []
ota_data = []
total_data = []
max_val = 0
max_date = None
min_date = None
for test in tests:
date = test["datetime"]
total = len(test["results"])
max_val = total if total > max_val else max_val
max_date = date if not max_date or date > max_date else max_date
min_date = date if not min_date or date < min_date else min_date
submit_data.append({"x": date, "y": len(test["submit_form"].results)})
ota_data.append({"x": date, "y": len(test["ota_restore"].results)})
total_data.append({"x": date, "y": total})
deployments = [row["key"][1] for row in HqDeploy.get_list(settings.SERVER_ENVIRONMENT, min_date, max_date)]
deploy_data = [{"x": min_date, "y": 0}]
for date in deployments:
deploy_data.extend([{"x": date, "y": 0}, {"x": date, "y": max_val}, {"x": date, "y": 0}])
deploy_data.append({"x": max_date, "y": 0})
chart.add_dataset("Deployments", deploy_data)
chart.add_dataset("Form Submission Count", submit_data)
chart.add_dataset("OTA Restore Count", ota_data)
chart.add_dataset("Total Count", total_data)
context["charts"] = [chart]
template = "hqadmin/loadtest.html"
return render(request, template, context)
示例2: handle
# 需要导入模块: from corehq.apps.hqadmin.models import HqDeploy [as 别名]
# 或者: from corehq.apps.hqadmin.models.HqDeploy import get_list [as 别名]
def handle(self, *args, **options):
start = parser.parse(options['startdate'])
enddate = options['enddate']
end = parser.parse(enddate) if enddate else datetime.utcnow()
ds = HqDeploy.get_list('production', start, end)
ids = [d['id'] for d in ds]
sha_prev = None
print_row('Deploy Date', "Commit Date", "Diff")
for id in ids:
d = HqDeploy.get(id)
s = d.code_snapshot['commits'][0]
sha = s['sha']
url = "https://github.com/dimagi/commcare-hq/compare/{sha_prev}...{sha}".format(
sha=sha,
sha_prev=sha_prev
)
print_row(d.date, s['date'], url)
sha_prev = sha
示例3: loadtest
# 需要导入模块: from corehq.apps.hqadmin.models import HqDeploy [as 别名]
# 或者: from corehq.apps.hqadmin.models.HqDeploy import get_list [as 别名]
def loadtest(request):
# The multimech results api is kinda all over the place.
# the docs are here: http://testutils.org/multi-mechanize/datastore.html
db_settings = settings.DATABASES["default"]
db_settings['PORT'] = db_settings.get('PORT', '') or '5432'
db_url = "postgresql://{USER}:{PASSWORD}@{HOST}:{PORT}/{NAME}".format(
**db_settings
)
engine = create_engine(db_url)
session = sessionmaker(bind=engine)
current = session()
scripts = ['submit_form.py', 'ota_restore.py']
tests = []
# datetime info seems to be buried in GlobalConfig.results[0].run_id,
# which makes ORM-level sorting problematic
for gc in current.query(GlobalConfig).all()[::-1]:
gc.scripts = dict((uc.script, uc) for uc in gc.user_group_configs)
if gc.results:
for script, uc in gc.scripts.items():
uc.results = filter(
lambda res: res.user_group_name == uc.user_group,
gc.results
)
test = {
'datetime': gc.results[0].run_id,
'run_time': gc.run_time,
'results': gc.results,
}
for script in scripts:
test[script.split('.')[0]] = gc.scripts.get(script)
tests.append(test)
context = get_hqadmin_base_context(request)
context.update({
"tests": tests,
"hide_filters": True,
})
date_axis = Axis(label="Date", dateFormat="%m/%d/%Y")
tests_axis = Axis(label="Number of Tests in 30s")
chart = LineChart("HQ Load Test Performance", date_axis, tests_axis)
submit_data = []
ota_data = []
total_data = []
max_val = 0
max_date = None
min_date = None
for test in tests:
date = test['datetime']
total = len(test['results'])
max_val = total if total > max_val else max_val
max_date = date if not max_date or date > max_date else max_date
min_date = date if not min_date or date < min_date else min_date
submit_data.append({'x': date, 'y': len(test['submit_form'].results)})
ota_data.append({'x': date, 'y': len(test['ota_restore'].results)})
total_data.append({'x': date, 'y': total})
deployments = [row['key'][1] for row in HqDeploy.get_list(settings.SERVER_ENVIRONMENT, min_date, max_date)]
deploy_data = [{'x': min_date, 'y': 0}]
for date in deployments:
deploy_data.extend([{'x': date, 'y': 0}, {'x': date, 'y': max_val}, {'x': date, 'y': 0}])
deploy_data.append({'x': max_date, 'y': 0})
chart.add_dataset("Deployments", deploy_data)
chart.add_dataset("Form Submission Count", submit_data)
chart.add_dataset("OTA Restore Count", ota_data)
chart.add_dataset("Total Count", total_data)
context['charts'] = [chart]
template = "hqadmin/loadtest.html"
return render(request, template, context)