X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fbkmk_rforking.py;h=30133dcb4011fcb908ddb6f011732adf5217fc40;hb=b2b302b348f0b711557961c70744c818cff664f0;hp=4d3e105a7a4063f7f5f5395d88d1ff18c1fa4601;hpb=a5a3a03d6067edaae395c8d5386257b55f3850f3;p=bookmarks_db.git diff --git a/Robots/bkmk_rforking.py b/Robots/bkmk_rforking.py index 4d3e105..30133dc 100644 --- a/Robots/bkmk_rforking.py +++ b/Robots/bkmk_rforking.py @@ -10,7 +10,8 @@ __license__ = "GNU GPL" __all__ = ['robot_forking'] -import sys, os +import os +import sys try: import cPickle as pickle @@ -28,6 +29,7 @@ sys.stderr = open("err.log", 'a') check_subp = None subp_pipe = None + def stop_subp(log): global check_subp, subp_pipe if check_subp: @@ -35,6 +37,7 @@ def stop_subp(log): del check_subp del subp_pipe + def restart_subp(log): global check_subp, subp_pipe stop_subp(log) @@ -46,8 +49,9 @@ def restart_subp(log): _set_subproc = True + class robot_forking(Robot): - subproc = 'urllib2' # Default subprocess + subproc = 'urllib2' # Default subprocess def check_url(self, bookmark): global _set_subproc @@ -60,18 +64,20 @@ class robot_forking(Robot): if attr.startswith('subproc_'): subproc_attrs.append((attr[len('subproc_'):], getattr(self, attr))) if subproc_attrs: - subproc += ':' + ':'.join(['='.join((k,v)) for k,v in subproc_attrs]) + subproc += ':' + ':'.join( + ['='.join((k, v)) for k, v in subproc_attrs] + ) os.environ['BKMK_ROBOT'] = subproc if not check_subp: - restart_subp(self.log) # Not restart, just start afresh + restart_subp(self.log) # Not restart, just start afresh try: save_parent = bookmark.parent bookmark.parent = None subp_pipe.write_record(pickle.dumps(bookmark)) - if check_subp.waitForPendingChar(60): # wait a minute + if check_subp.waitForPendingChar(60): # wait a minute new_b = pickle.loads(subp_pipe.read_record()) for attr in ( "error", "no_error", @@ -101,4 +107,4 @@ class robot_forking(Robot): return 1 def stop(self): - stop_subp(None) # Stop subprocess; do not log restarting + stop_subp(None) # Stop subprocess; do not log restarting