sink = args[0] sink.lock.acquire() try: # At this point, the stream flag is disabled, and the delivery state might need to be updated sink.stream = False if sink.delivery == 'streaming': log.debug('Sending end stream signal after {}'.format(sink.delivery)) sink.delivery = 'sent' reply((), headers={'state': 'end', 'format': 'tuple'}, **sink.recipient) log.info('Stream of fragment {} for request {} is done'.format(fid, sink.request_id)) finally: sink.lock.release() FragmentPlugin.register(StreamPlugin) class StreamRequest(FragmentRequest): def __init__(self): super(StreamRequest, self).__init__() def _extract_content(self, request_type=STOA.StreamRequest): """ Parse streaming request data. For this operation, there is no additional data to extract. """ super(StreamRequest, self)._extract_content(request_type=request_type) class StreamAction(FragmentAction): def __init__(self, message):
@property def sink_aware(self): return False def complete(self, fid, *args): fragment_gp = args[0] try: if fragment_has_result_set(fid): _update_result_set(fid, fragment_gp) except Exception, e: traceback.print_exc() log.error(e.message) FragmentPlugin.register(QueryPlugin) class QueryRequest(FragmentRequest): def __init__(self): super(QueryRequest, self).__init__() def _extract_content(self, request_type=STOA.QueryRequest): """ Parse query request data. For this operation, there is no additional data to extract. """ super(QueryRequest, self)._extract_content(request_type=request_type) class QueryAction(FragmentAction): def __init__(self, message):