mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 06:46:58 -05:00
Move Startup Tasks to API
This commit is contained in:
parent
73c5f23ed7
commit
3f8ff15e97
@ -44,7 +44,7 @@ def run(settings, logger, db, script_dir, fHDHR_web, origin, alternative_epg):
|
||||
|
||||
try:
|
||||
|
||||
print("HTTP Server Starting")
|
||||
fhdhr.logger.info("HTTP Server Starting")
|
||||
if settings.dict["main"]["thread_method"] in ["multiprocessing"]:
|
||||
fhdhr_web = multiprocessing.Process(target=fhdhrweb.run)
|
||||
elif settings.dict["main"]["thread_method"] in ["threading"]:
|
||||
@ -52,8 +52,15 @@ def run(settings, logger, db, script_dir, fHDHR_web, origin, alternative_epg):
|
||||
if settings.dict["main"]["thread_method"] in ["multiprocessing", "threading"]:
|
||||
fhdhr_web.start()
|
||||
|
||||
# Perform some actions now that HTTP Server is running, but don't wait for response
|
||||
# Hit EPG Update API URL without waiting
|
||||
try:
|
||||
fhdhr.web.session.get("%s/api/startup_tasks" % (fhdhr.api.base))
|
||||
except fhdhr.web.exceptions.ReadTimeout:
|
||||
pass
|
||||
|
||||
if settings.dict["fhdhr"]["discovery_address"]:
|
||||
print("SSDP Server Starting")
|
||||
fhdhr.logger.info("SSDP Server Starting")
|
||||
if settings.dict["main"]["thread_method"] in ["multiprocessing"]:
|
||||
fhdhr_ssdp = multiprocessing.Process(target=fhdhr.device.ssdp.run)
|
||||
elif settings.dict["main"]["thread_method"] in ["threading"]:
|
||||
@ -62,7 +69,7 @@ def run(settings, logger, db, script_dir, fHDHR_web, origin, alternative_epg):
|
||||
fhdhr_ssdp.start()
|
||||
|
||||
if settings.dict["epg"]["method"]:
|
||||
print("EPG Update Starting")
|
||||
fhdhr.logger.info("EPG Update Starting")
|
||||
if settings.dict["main"]["thread_method"] in ["multiprocessing"]:
|
||||
fhdhr_epg = multiprocessing.Process(target=fhdhr.device.epg.run)
|
||||
elif settings.dict["main"]["thread_method"] in ["threading"]:
|
||||
|
||||
@ -20,9 +20,6 @@ class Channels():
|
||||
self.list_update_time = None
|
||||
|
||||
self.get_db_channels()
|
||||
haseverscanned = self.fhdhr.db.get_fhdhr_value("channels", "scanned_time")
|
||||
if (self.fhdhr.config.dict["fhdhr"]["chanscan_on_start"] or not haseverscanned):
|
||||
self.get_channels()
|
||||
|
||||
def get_channel_obj(self, keyfind, valfind):
|
||||
if keyfind == "number":
|
||||
|
||||
@ -291,8 +291,7 @@ class EPG():
|
||||
self.fhdhr.logger.info("Wrote " + epgtypename + " EPG cache.")
|
||||
|
||||
def run(self):
|
||||
for epg_method in self.epg_methods:
|
||||
self.fhdhr.web.session.get(self.epg_update_url)
|
||||
time.sleep(1800)
|
||||
try:
|
||||
while True:
|
||||
for epg_method in self.epg_methods:
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
|
||||
from .root_url import Root_URL
|
||||
from .startup_tasks import Startup_Tasks
|
||||
|
||||
from .cluster import Cluster
|
||||
from .settings import Settings
|
||||
@ -19,6 +20,7 @@ class fHDHR_API():
|
||||
self.fhdhr = fhdhr
|
||||
|
||||
self.root_url = Root_URL(fhdhr)
|
||||
self.startup_tasks = Startup_Tasks(fhdhr)
|
||||
|
||||
self.cluster = Cluster(fhdhr)
|
||||
self.settings = Settings(fhdhr)
|
||||
|
||||
35
fHDHR_web/api/startup_tasks.py
Normal file
35
fHDHR_web/api/startup_tasks.py
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
class Startup_Tasks():
|
||||
endpoints = ["/api/startup_tasks"]
|
||||
endpoint_name = "api_startup_tasks"
|
||||
endpoint_methods = ["GET", "POST"]
|
||||
|
||||
def __init__(self, fhdhr):
|
||||
self.fhdhr = fhdhr
|
||||
|
||||
self.epg_update_url = "%s/api/epg?method=update" % (self.fhdhr.api.base)
|
||||
self.channel_update_url = "%s/api/channels?method=scan" % (self.fhdhr.api.base)
|
||||
|
||||
def __call__(self, *args):
|
||||
return self.get(*args)
|
||||
|
||||
def get(self, *args):
|
||||
|
||||
# Hit Channel Update API URL without waiting unless we've never scanned before
|
||||
haseverscanned = self.fhdhr.db.get_fhdhr_value("channels", "scanned_time")
|
||||
if not haseverscanned:
|
||||
self.fhdhr.web.session.get(self.channel_update_url)
|
||||
elif self.fhdhr.config.dict["fhdhr"]["chanscan_on_start"]:
|
||||
try:
|
||||
self.fhdhr.web.session.get(self.channel_update_url, timeout=0.0000000001)
|
||||
except self.fhdhr.web.exceptions.ReadTimeout:
|
||||
pass
|
||||
|
||||
# Hit EPG Update API URL without waiting
|
||||
try:
|
||||
self.fhdhr.web.session.get(self.epg_update_url, timeout=0.0000000001)
|
||||
except self.fhdhr.web.exceptions.ReadTimeout:
|
||||
pass
|
||||
|
||||
return "Success"
|
||||
Loading…
Reference in New Issue
Block a user