projects
/
kiosk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More changes for python3 and improved logging/debugging. This ~works.
[kiosk.git]
/
renderer.py
diff --git
a/renderer.py
b/renderer.py
index 34e4459d429abda03a28da88048690cbc0834f0c..491d34d52f9b32a9090294b40c21358e42f892fd 100644
(file)
--- a/
renderer.py
+++ b/
renderer.py
@@
-6,6
+6,9
@@
class renderer(object):
def render(self):
pass
def render(self):
pass
+ def get_name(self):
+ return self.__class__.__name__
+
class abstaining_renderer(renderer):
"""A renderer that doesn't do it all the time."""
def __init__(self, name_to_timeout_dict):
class abstaining_renderer(renderer):
"""A renderer that doesn't do it all the time."""
def __init__(self, name_to_timeout_dict):
@@
-17,33
+20,32
@@
class abstaining_renderer(renderer):
def should_render(self, keys_to_skip):
now = time.time()
for key in self.name_to_timeout_dict:
def should_render(self, keys_to_skip):
now = time.time()
for key in self.name_to_timeout_dict:
- if key in keys_to_skip:
- continue
- if (now - self.last_runs[key]) > self.name_to_timeout_dict[key]:
+ if (((now - self.last_runs[key]) > self.name_to_timeout_dict[key]) and
+ key not in keys_to_skip):
return key
return None
def render(self):
return key
return None
def render(self):
- tries = {}
+ tries
_per_key
= {}
keys_to_skip = set()
while True:
key = self.should_render(keys_to_skip)
if key == None:
break
keys_to_skip = set()
while True:
key = self.should_render(keys_to_skip)
if key == None:
break
- if key in tries:
- tries[key] += 1
+
+ if key in tries_per_key:
+ tries_per_key[key] += 1
else:
else:
- tries[key] = 0
+ tries
_per_key
[key] = 0
- if tries
[key] > 5
:
- print(
('Too many retries for "%s.%s", giving up for now' % (
-
key, self.__class__)
))
+ if tries
_per_key[key] >= 3
:
+ print(
'renderer: Too many failures/retries for "%s.%s", ' +
+
', giving up for now' % (self.get_name(), key
))
keys_to_skip.add(key)
else:
keys_to_skip.add(key)
else:
- msg = 'renderer: periodic render event for "%s.%s"' % (
- key, self.__class__)
- if (tries[key] > 1):
- msg = msg + " (try %d)" % tries[key]
+ msg = 'renderer: executing "%s.%s"' % (self.get_name(), key)
+ if (tries_per_key[key] > 1):
+ msg = msg + " (retry %d)" % tries_per_key[key]
print(msg)
if (self.periodic_render(key)):
self.last_runs[key] = time.time()
print(msg)
if (self.periodic_render(key)):
self.last_runs[key] = time.time()
@@
-57,7
+59,7
@@
class debuggable_abstaining_renderer(abstaining_renderer):
self.debug = debug
def debug_prefix(self):
self.debug = debug
def debug_prefix(self):
- return
"none"
+ return
self.get_name()
def being_debugged(self):
return self.debug
def being_debugged(self):
return self.debug