You've already forked haproxy-wi
mirror of
https://github.com/roxy-wi/roxy-wi.git
synced 2025-12-15 11:54:05 +08:00
Replaced multiple SQL function calls with consistent `get_server` naming. Consolidated and streamlined the function calls to `get_server` and `get_server_by_ip` to ensure consistency and improve maintainability across the codebase. Removed obsolete and redundant function definitions that were no longer in use.
210 lines
5.3 KiB
Python
210 lines
5.3 KiB
Python
from app.modules.db.db_model import Server, Services, ServiceSetting
|
|
from app.modules.db.common import out_error
|
|
|
|
|
|
def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
|
try:
|
|
if service_name == 'nginx':
|
|
update_hapwi = Server.update(
|
|
nginx_alert=alert, nginx_active=active, nginx_metrics=metrics
|
|
).where(Server.server_id == server_id)
|
|
elif service_name == 'keepalived':
|
|
update_hapwi = Server.update(keepalived_alert=alert, keepalived_active=active).where(
|
|
Server.server_id == server_id)
|
|
elif service_name == 'apache':
|
|
update_hapwi = Server.update(apache_alert=alert, apache_active=active, apache_metrics=metrics).where(
|
|
Server.server_id == server_id)
|
|
else:
|
|
update_hapwi = Server.update(haproxy_alert=alert, haproxy_metrics=metrics, haproxy_active=active).where(
|
|
Server.server_id == server_id)
|
|
update_hapwi.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def update_server_services(server_id: int, haproxy: int, nginx: int, apache: int, keepalived: int) -> bool:
|
|
try:
|
|
server_update = Server.update(
|
|
haproxy=haproxy, nginx=nginx, apache=apache, keepalived=keepalived
|
|
).where(Server.server_id == server_id)
|
|
server_update.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
return False
|
|
else:
|
|
return True
|
|
|
|
|
|
def insert_or_update_service_setting(server_id, service, setting, value):
|
|
try:
|
|
ServiceSetting.insert(server_id=server_id, service=service, setting=setting, value=value).on_conflict(
|
|
'replace').execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
return False
|
|
else:
|
|
return True
|
|
|
|
|
|
def select_service_settings(server_id: int, service: str) -> str:
|
|
query = ServiceSetting.select().where((ServiceSetting.server_id == server_id) & (ServiceSetting.service == service))
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def select_docker_service_settings(server_id: int, service: str) -> str:
|
|
query = ServiceSetting.select().where(
|
|
(ServiceSetting.server_id == server_id)
|
|
& (ServiceSetting.service == service)
|
|
& (ServiceSetting.setting == 'dockerized')
|
|
)
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def select_docker_services_settings(service: str) -> str:
|
|
query = ServiceSetting.select().where(
|
|
(ServiceSetting.service == service)
|
|
& (ServiceSetting.setting == 'dockerized')
|
|
)
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def select_restart_service_settings(server_id: int, service: str) -> str:
|
|
query = ServiceSetting.select().where(
|
|
(ServiceSetting.server_id == server_id)
|
|
& (ServiceSetting.service == service)
|
|
& (ServiceSetting.setting == 'restart')
|
|
)
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def select_restart_services_settings(service: str) -> str:
|
|
query = ServiceSetting.select().where(
|
|
(ServiceSetting.service == service)
|
|
& (ServiceSetting.setting == 'restart')
|
|
)
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def select_service_setting(server_id: int, service: str, setting: str) -> str:
|
|
try:
|
|
result = ServiceSetting.get(
|
|
(ServiceSetting.server_id == server_id)
|
|
& (ServiceSetting.service == service)
|
|
& (ServiceSetting.setting == setting)
|
|
).value
|
|
except Exception:
|
|
return '0'
|
|
else:
|
|
return result
|
|
|
|
|
|
def delete_service_settings(server_id: int):
|
|
query = ServiceSetting.delete().where(ServiceSetting.server_id == server_id)
|
|
try:
|
|
query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def select_service_name_by_id(service_id: int) -> str:
|
|
try:
|
|
service = Services.get(Services.service_id == service_id).service
|
|
except Exception as e:
|
|
return out_error(e)
|
|
else:
|
|
return service
|
|
|
|
|
|
def select_service_id_by_slug(service_slug: str) -> int:
|
|
try:
|
|
service = Services.get(Services.slug == service_slug).service_id
|
|
except Exception as e:
|
|
return out_error(e)
|
|
else:
|
|
return service
|
|
|
|
|
|
def select_services():
|
|
try:
|
|
return Services.select().execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def select_service(slug: str) -> Services:
|
|
try:
|
|
return Services.get(Services.slug == slug)
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def update_keepalived(serv):
|
|
try:
|
|
Server.update(keepalived='1').where(Server.ip == serv).execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def update_apache(serv: str) -> None:
|
|
try:
|
|
Server.update(apache='1').where(Server.ip == serv).execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def update_nginx(serv: str) -> None:
|
|
try:
|
|
Server.update(nginx=1).where(Server.ip == serv).execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def update_haproxy(serv):
|
|
try:
|
|
Server.update(haproxy=1).where(Server.ip == serv).execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def select_count_services(service: str) -> int:
|
|
try:
|
|
if service == 'haproxy':
|
|
query_res = Server.select().where(Server.haproxy == 1).count()
|
|
elif service == 'nginx':
|
|
query_res = Server.select().where(Server.nginx == 1).count()
|
|
elif service == 'keepalived':
|
|
query_res = Server.select().where(Server.keepalived == 1).count()
|
|
elif service == 'apache':
|
|
query_res = Server.select().where(Server.apache == 1).count()
|
|
else:
|
|
query_res = Server.select().where().count()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|