
On 01/18/2017 06:47 PM, Daniel Henrique Barboza wrote:
On 01/18/2017 04:03 PM, Lucio Correia wrote:
On 18/01/2017 14:24, dhbarboza82@gmail.com wrote:
From: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
This patch adds an add_notification call to warn the UI about the pending reload process. To allow the UI to actually see the notification before WoK restarts, a 2 seconds wait (value defined by the wok.NOTIFICATION_INTERVAL var in wok.main.js) is given before sending the cherrypy.engine.restart call.
Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> --- src/wok/i18n.py | 2 ++ src/wok/model/config.py | 15 +++++++++++++++ 2 files changed, 17 insertions(+)
diff --git a/src/wok/i18n.py b/src/wok/i18n.py index e454e31..02adcdd 100644 --- a/src/wok/i18n.py +++ b/src/wok/i18n.py @@ -62,4 +62,6 @@ messages = { "WOKRES0001L": _("Request made on resource"), "WOKROOT0001L": _("User '%(username)s' login"), "WOKROOT0002L": _("User '%(username)s' logout"), + + "WOKCONFIG0001I": _("WoK is going to restart. Existing WoK connections will be closed."), To not mix with user log messages, include this one before the ones ending in L.
Alright!
} diff --git a/src/wok/model/config.py b/src/wok/model/config.py index 57c5ad8..b69f2dd 100644 --- a/src/wok/model/config.py +++ b/src/wok/model/config.py @@ -18,8 +18,11 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
import cherrypy +import time
from wok.config import config, get_version +from wok.model.notifications import add_notification +from wok.utils import wok_log
class ConfigModel(object): @@ -34,4 +37,16 @@ class ConfigModel(object): 'version': get_version()}
def reload(self, name): + add_notification('WOKCONFIG0001I', plugin_name='/')
It may be working this way, but it should work as well with plugin_name=None. It makes more sense to be None than '/', since there is no plugin '/'. Anyway, just a suggestion.
Yeah, it works either way. I've asked Aline her option on it (I have no favorites between plugin_name='/' and plugin_name=None and even plugin_name='wok') and she said that she prefers '/'. You can interpret it as 'this is not a plugin, this is the root URI'. But I agree that None works too.
I have suggested '/' because after looking at the WokMessage class, that parameters represents the plugin URI so... But if you prefer, None I will not oppose to it =)
+ # If we proceed with the cherrypy.engine.restart() right after + # adding the notification, the server will reboot and the + # opened UIs will most likely not see the notification at all. The + # notification interval is set in wok.main.js as: + # + # wok.NOTIFICATION_INTERVAL = 2000 + # + # Inserting a time.sleep(2) here will ensure that all opened + # UI had the chance to see the reload notification. + wok_log.info('Reloading WoK in two seconds ...') + time.sleep(2) cherrypy.engine.restart()
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel