-
Notifications
You must be signed in to change notification settings - Fork 0
/
E2_example.py
31 lines (27 loc) · 934 Bytes
/
E2_example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
### 인프라 상태를 확인하는 서비스(e.g. Nagios)
class HealthCheck:
_instance = None
def __new__(cls, *args, **kwargs):
if not HealthCheck._instance:
HealthCheck._instance = super(HealthCheck, cls).__new__(cls, *args, **kwargs)
return HealthCheck._instance
def __init__(self):
self._servers = []
def addServer(self):
self._servers.append("Server 1")
self._servers.append("Server 2")
self._servers.append("Server 3")
self._servers.append("Server 4")
def changeServer(self):
self._servers.pop()
self._servers.append("Server 5")
hc1 = HealthCheck()
hc2 = HealthCheck()
hc1.addServer()
print("Schedule health check for servers (1)..")
for i in range(4):
print("Checking", hc1._servers[i])
hc2.changeServer()
print("Schedule health check for servers (2)..")
for i in range(4):
print("Checking", hc2._servers[i])