mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-13 00:32:58 -07:00
Schedule job to check if server down
This commit is contained in:
parent
b28ac1543a
commit
4d87666a42
3 changed files with 36 additions and 1 deletions
|
@ -287,6 +287,8 @@ def initialize_scheduler():
|
||||||
hours=12, minutes=0, seconds=0)
|
hours=12, minutes=0, seconds=0)
|
||||||
schedule_job(activity_pinger.check_recently_added, 'Check for recently added items',
|
schedule_job(activity_pinger.check_recently_added, 'Check for recently added items',
|
||||||
hours=0, minutes=0, seconds=seconds)
|
hours=0, minutes=0, seconds=seconds)
|
||||||
|
schedule_job(activity_pinger.check_server_response, 'Check for server response',
|
||||||
|
hours=0, minutes=0, seconds=seconds)
|
||||||
|
|
||||||
# If we're not using websockets then fall back to polling
|
# If we're not using websockets then fall back to polling
|
||||||
if not CONFIG.MONITORING_USE_WEBSOCKET or POLLING_FAILOVER:
|
if not CONFIG.MONITORING_USE_WEBSOCKET or POLLING_FAILOVER:
|
||||||
|
|
|
@ -20,6 +20,7 @@ import plexpy
|
||||||
import time
|
import time
|
||||||
|
|
||||||
monitor_lock = threading.Lock()
|
monitor_lock = threading.Lock()
|
||||||
|
ping_count = 0
|
||||||
|
|
||||||
|
|
||||||
def check_active_sessions(ws_request=False):
|
def check_active_sessions(ws_request=False):
|
||||||
|
@ -219,3 +220,22 @@ def check_recently_added():
|
||||||
# Fire off notifications
|
# Fire off notifications
|
||||||
threading.Thread(target=notification_handler.notify_timeline,
|
threading.Thread(target=notification_handler.notify_timeline,
|
||||||
kwargs=dict(timeline_data=item, notify_action='created')).start()
|
kwargs=dict(timeline_data=item, notify_action='created')).start()
|
||||||
|
|
||||||
|
|
||||||
|
def check_server_response():
|
||||||
|
|
||||||
|
with monitor_lock:
|
||||||
|
pms_connect = pmsconnect.PmsConnect()
|
||||||
|
response = pms_connect.get_server_response()
|
||||||
|
global ping_count
|
||||||
|
|
||||||
|
if not response:
|
||||||
|
ping_count += 1
|
||||||
|
logger.warn(u"PlexPy Monitor :: Unable to get a response from the server, ping attempt %s." % str(ping_count))
|
||||||
|
|
||||||
|
if ping_count == 3:
|
||||||
|
# Fire off notifications
|
||||||
|
threading.Thread(target=notification_handler.notify_timeline,
|
||||||
|
kwargs=dict(notify_action='down')).start()
|
||||||
|
else:
|
||||||
|
ping_count = 0
|
|
@ -1649,3 +1649,16 @@ class PmsConnect(object):
|
||||||
}
|
}
|
||||||
|
|
||||||
return key_list
|
return key_list
|
||||||
|
|
||||||
|
"""
|
||||||
|
Check for a server response.
|
||||||
|
|
||||||
|
Output: bool
|
||||||
|
"""
|
||||||
|
def get_server_response(self):
|
||||||
|
response = self.get_server_list()
|
||||||
|
|
||||||
|
if not response:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue