def executingTask(parentListener, taskname, arguments): executor = XPSExecutor.getNonsparkExecutor() larguments = List(arguments) requestId = log_outgoing_request(None, "executingTask", (parentListener, taskname, larguments)) listener = executor.executingTask(parentListener, taskname, toXPS(larguments)) log_incoming_result(requestId, "result", listener) return listener
def startExecuteTask(agent, listener, taskname, arguments): if not isinstance(listener, ExecutionListener): listener = None newlistener = _SparkExecutionListener(agent, listener) debug("creating listener %s with parent %s", newlistener, listener) executor = XPSExecutor.getNonsparkExecutor() if executor == None: raise LowError("XPSExecutor nonsparkExecutor is not set") larguments = List(arguments) log_outgoing_request(newlistener, "executeTask", (newlistener, taskname, larguments)) executor.executeTask(newlistener, taskname, toXPS(larguments)) return newlistener
def reportable(agent, tframe): # returns listener or None """If this procedure is a learned one, return the listener for reporting its success or failure. If an ancestor is being reported, ask the bridge for a new listener. If not, use the listener recorded for the objective.""" if not isLearnedProcedure(agent, tframe): debug("no need to report non-learned or top-level procedure %r for event %s", tframe, tframe.event()) return None debug("must report learned procedure %r for event %s", tframe, tframe.event()) (tf, listener) = ancestorListener(agent, tframe) or (None,None) if tf == None: return None executor = XPSExecutor.getNonsparkExecutor() taskname = tframe.event().goalsym().id taskargs = tframeInitialArguments(agent, tframe) newListener = executingTask(listener, taskname, taskargs) debug("obtained listener for %r: %r", tframe, newListener) return newListener
def reportable(agent, tframe): # returns listener or None """If this procedure is a learned one, return the listener for reporting its success or failure. If an ancestor is being reported, ask the bridge for a new listener. If not, use the listener recorded for the objective.""" if not isLearnedProcedure(agent, tframe): debug( "no need to report non-learned or top-level procedure %r for event %s", tframe, tframe.event()) return None debug("must report learned procedure %r for event %s", tframe, tframe.event()) (tf, listener) = ancestorListener(agent, tframe) or (None, None) if tf == None: return None executor = XPSExecutor.getNonsparkExecutor() taskname = tframe.event().goalsym().id taskargs = tframeInitialArguments(agent, tframe) newListener = executingTask(listener, taskname, taskargs) debug("obtained listener for %r: %r", tframe, newListener) return newListener