更策略新服务,增加超时退出
This commit is contained in:
parent
fd459f16ff
commit
4dad9bd998
|
@ -9,6 +9,7 @@ import dbus.service
|
||||||
import traceback
|
import traceback
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from dbus.mainloop.glib import DBusGMainLoop
|
from dbus.mainloop.glib import DBusGMainLoop
|
||||||
|
from gi.repository import GLib
|
||||||
DBusGMainLoop(set_as_default=True)
|
DBusGMainLoop(set_as_default=True)
|
||||||
|
|
||||||
from .UpgradeStrategiesDbus import UpgradeStrategiesDbusController,UPDATER_DBUS_INTERFACE,UPDATER_DBUS_PATH,UPDATER_DBUS_SERVICE
|
from .UpgradeStrategiesDbus import UpgradeStrategiesDbusController,UPDATER_DBUS_INTERFACE,UPDATER_DBUS_PATH,UPDATER_DBUS_SERVICE
|
||||||
|
@ -17,6 +18,8 @@ from .Core.loop import mainloop
|
||||||
|
|
||||||
from SystemUpdater.Core.UpdaterConfigParser import UpgradeConfig
|
from SystemUpdater.Core.UpdaterConfigParser import UpgradeConfig
|
||||||
|
|
||||||
|
STRATEGY_IDLE_INTERVAL = 5
|
||||||
|
STRATEGY_IDLE_TIMEOUT = 5
|
||||||
class UpgradeStrategies():
|
class UpgradeStrategies():
|
||||||
def __init__(self,options):
|
def __init__(self,options):
|
||||||
try:
|
try:
|
||||||
|
@ -26,7 +29,10 @@ class UpgradeStrategies():
|
||||||
#config
|
#config
|
||||||
self.uuconfigs = UpgradeConfig(datadir = "/var/lib/unattended-upgrades/", name = "unattended-upgrades-policy.conf")
|
self.uuconfigs = UpgradeConfig(datadir = "/var/lib/unattended-upgrades/", name = "unattended-upgrades-policy.conf")
|
||||||
self.sqlite3_server = Sqlite3Server(self)
|
self.sqlite3_server = Sqlite3Server(self)
|
||||||
|
#策略配置接口的超时退出机制
|
||||||
|
self.strategy_timestamp = 0
|
||||||
|
GLib.timeout_add_seconds(STRATEGY_IDLE_INTERVAL,
|
||||||
|
self._check_strategy_inactivity)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(e)
|
logging.error(e)
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
@ -80,3 +86,16 @@ class UpgradeStrategies():
|
||||||
timeout=300)
|
timeout=300)
|
||||||
logging.error("Dbus has not withdrawn and retry reboot times:%d...",retry_reboot_times)
|
logging.error("Dbus has not withdrawn and retry reboot times:%d...",retry_reboot_times)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
def _check_strategy_inactivity(self):
|
||||||
|
logging.info("Checking for inactivity in Strategies daemon ...")
|
||||||
|
timestamp = self.strategy_timestamp
|
||||||
|
if timestamp == 0:
|
||||||
|
self.strategy_timestamp = time.time()
|
||||||
|
return True
|
||||||
|
#超时退出
|
||||||
|
if self.strategy_timestamp != 0 and time.time() - self.strategy_timestamp > STRATEGY_IDLE_TIMEOUT:
|
||||||
|
logging.warning("Quitting due to inactivity")
|
||||||
|
self.dbusController.Quit(None)
|
||||||
|
return False
|
||||||
|
return True
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<vendor>Kylin System Updater Config Manager</vendor>
|
<vendor>Kylin System Updater Config Manager</vendor>
|
||||||
<vendor_url>www.kylinos.cn</vendor_url>
|
<vendor_url>www.kylinos.cn</vendor_url>
|
||||||
<icon_name>kylin-system-updater-UpgradeStrategies</icon_name>
|
<icon_name>kylin-upgrade-strategies</icon_name>
|
||||||
|
|
||||||
<action id="com.kylin.UpgradeStrategies.action">
|
<action id="com.kylin.UpgradeStrategies.action">
|
||||||
<_description>
|
<_description>
|
||||||
|
|
|
@ -22,7 +22,7 @@ backend/data/kylin-system-version.conf /etc/kylin-version/
|
||||||
#configDaemon
|
#configDaemon
|
||||||
backend/kylin-upgrade-strategies /usr/share/kylin-system-updater/
|
backend/kylin-upgrade-strategies /usr/share/kylin-system-updater/
|
||||||
backend/data/com.kylin.UpgradeStrategies.conf /etc/dbus-1/system.d/
|
backend/data/com.kylin.UpgradeStrategies.conf /etc/dbus-1/system.d/
|
||||||
backend/data/kylin-upgrade-strategies.service /usr/lib/systemd/system/
|
backend/data/com.kylin.UpgradeStrategies.service /usr/share/dbus-1/system-services/
|
||||||
backend/data/cn.kylinos.UpgradeStrategies.policy /usr/share/polkit-1/actions/
|
backend/data/cn.kylinos.UpgradeStrategies.policy /usr/share/polkit-1/actions/
|
||||||
|
|
||||||
#uu
|
#uu
|
||||||
|
|
Loading…
Reference in New Issue