Skip to content

Commit 3f0398e

Browse files
committed
Add gitignore and logging_aux
1 parent be05473 commit 3f0398e

File tree

3 files changed

+123
-13
lines changed

3 files changed

+123
-13
lines changed

.gitignore

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
*.egg-info/
24+
.installed.cfg
25+
*.egg
26+
MANIFEST
27+
28+
# PyInstaller
29+
# Usually these files are written by a python script from a template
30+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
31+
*.manifest
32+
*.spec
33+
34+
# Installer logs
35+
pip-log.txt
36+
pip-delete-this-directory.txt
37+
38+
# Unit test / coverage reports
39+
htmlcov/
40+
.tox/
41+
.coverage
42+
.coverage.*
43+
.cache
44+
nosetests.xml
45+
coverage.xml
46+
*.cover
47+
.hypothesis/
48+
.pytest_cache/
49+
50+
# Translations
51+
*.mo
52+
*.pot
53+
54+
# Django stuff:
55+
*.log
56+
.static_storage/
57+
.media/
58+
local_settings.py
59+
60+
# Flask stuff:
61+
instance/
62+
.webassets-cache
63+
64+
# Scrapy stuff:
65+
.scrapy
66+
67+
# Sphinx documentation
68+
docs/_build/
69+
70+
# PyBuilder
71+
target/
72+
73+
# Jupyter Notebook
74+
.ipynb_checkpoints
75+
76+
# pyenv
77+
.python-version
78+
79+
# celery beat schedule file
80+
celerybeat-schedule
81+
82+
# SageMath parsed files
83+
*.sage.py
84+
85+
# Environments
86+
.env
87+
.venv
88+
env/
89+
venv/
90+
ENV/
91+
env.bak/
92+
venv.bak/
93+
94+
# Spyder project settings
95+
.spyderproject
96+
.spyproject
97+
98+
# Rope project settings
99+
.ropeproject
100+
101+
# mkdocs documentation
102+
/site
103+
104+
# mypy
105+
.mypy_cache/

logging_aux.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import logging
2+
3+
def init_logger_aux(logger_name, filelog_name, console_level=logging.WARNING, file_level=logging.DEBUG):
4+
logger = logging.getLogger(logger_name) # type: logging.Logger
5+
logger.setLevel(file_level)
6+
fh = logging.FileHandler(filelog_name)
7+
fh.setLevel(file_level)
8+
ch = logging.StreamHandler()
9+
ch.setLevel(console_level)
10+
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
11+
fh.setFormatter(formatter)
12+
ch.setFormatter(formatter)
13+
logger.addHandler(fh)
14+
logger.addHandler(ch)
15+
return logger

restclient.py

+3-13
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import json
33
import logging
44
from collections import namedtuple
5+
import logging_aux
56

67
GrowDecision = namedtuple("GrowDecision", "cores_to_grow nodes_to_grow sockets_to_grow")
78
IdleNode = namedtuple("IdleNode", "node_name idle_since")
@@ -11,18 +12,7 @@ def __init__(self, hostname="localhost"):
1112
self.hostname = hostname
1213
self.grow_decision_api_route = "https://{}/HpcManager/api/auto-scale/grow-decision"
1314
self.check_nodes_idle_route = "https://{}/HpcManager/api/auto-scale/check-nodes-idle"
14-
self.logger = logging.getLogger("hpcframwork.restclient")
15-
self.logger.setLevel(logging.DEBUG)
16-
fh = logging.FileHandler('hpcframwork.restclient.log')
17-
fh.setLevel(logging.DEBUG)
18-
ch = logging.StreamHandler()
19-
ch.setLevel(logging.ERROR)
20-
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
21-
fh.setFormatter(formatter)
22-
ch.setFormatter(formatter)
23-
self.logger.addHandler(fh)
24-
self.logger.addHandler(ch)
25-
15+
self.logger = logging_aux.init_logger_aux("hpcframework.restclient", 'hpcframework.restclient.log')
2616

2717
def get_grow_decision(self):
2818
url = self.grow_decision_api_route.format(self.hostname)
@@ -40,7 +30,7 @@ def check_nodes_idle(self, nodes):
4030
res = requests.post(url, data = nodes, headers = headers, verify = False)
4131
if res.ok:
4232
self.logger.info(res.content)
43-
jobjs = json.loads(res.content)
33+
jobjs = json.loads(res.content)
4434
return [IdleNode(idle_info['NodeName'], idle_info['IdleSince']) for idle_info in jobjs]
4535
else:
4636
self.logger.error("status_code:{} content:{}".format(res.status_code, res.content))

0 commit comments

Comments
 (0)