def send_retry(cls, try_count=1, make_file=False): global_sender = sender.get_global_sender() if global_sender.pendings: buffer_clear = False for i in xrange(try_count): try: global_sender.lock.acquire() global_sender._send_data(global_sender.pendings) global_sender.pendings = None buffer_clear = True break except Exception as e: logger.GetLog().error( '=====[ERROR]===== sender data to fluentd error :', e, e.message, global_sender.pendings) finally: global_sender.lock.release() if make_file: if not buffer_clear: f = None try: if not common_config.debug: f = open( "./restart_{0}.bin".format(uuid.uuid4().hex), 'wb') f.write(sender.get_global_sender().pendings) except: pass finally: if f: f.close()
def __init__(self, label, data, **kwargs): if not isinstance(data, dict): raise Exception("data must be dict") s = kwargs['sender'] if ('sender' in kwargs) else sender.get_global_sender() timestamp = kwargs['time'] if ('time' in kwargs) else int(time.time()) s.emit_with_time(label, timestamp, data)
def test_no_last_error_on_successful_event(self): global_sender = sender.get_global_sender() event.Event('unfollow', { 'from': 'userC', 'to': 'userD' }) # This test will fail unless you have a working connection to fluentd self.assertEqual(global_sender.last_error, None)
def test_no_last_error_on_successful_event(self): global_sender = sender.get_global_sender() event.Event('unfollow', { 'from': 'userC', 'to': 'userD' }) self.assertEqual(global_sender.last_error, None) sender.close()
def buffer_overflow_handler(pending_events): buffer_clear = False try: sender.get_global_sender()._send_data(pending_events) buffer_clear = True except: pass finally: pass if not buffer_clear: f = None try: if not common_config.debug: f = open("./pending_{0}.bin".format(uuid.uuid4().hex), 'wb') f.write(pending_events) except: pass finally: if f: f.close()
def test_connect_exception_during_event_send(self, mock_socket): # Make the socket.socket().connect() call raise a custom exception mock_connect = mock_socket.socket.return_value.connect EXCEPTION_MSG = "a event send socket connect() exception" mock_connect.side_effect = TestException(EXCEPTION_MSG) # Force the socket to reconnect while trying to emit the event global_sender = sender.get_global_sender() global_sender._close() event.Event('unfollow', {'from': 'userE', 'to': 'userF'}) ex = global_sender.last_error self.assertEqual(ex.args, EXCEPTION_MSG) global_sender.clear_last_error()
def test_connect_exception_during_event_send(self, mock_socket): # Make the socket.socket().connect() call raise a custom exception mock_connect = mock_socket.socket.return_value.connect EXCEPTION_MSG = "a event send socket connect() exception" mock_connect.side_effect = Exception(EXCEPTION_MSG) # Force the socket to reconnect while trying to emit the event global_sender = sender.get_global_sender() global_sender._close() event.Event('unfollow', { 'from': 'userE', 'to': 'userF' }) ex = global_sender.last_error self.assertEqual(ex.message, EXCEPTION_MSG) global_sender.clear_last_error()
def __init__(self, label, data, **kwargs): assert isinstance(data, dict), 'data must be a dict' sender_ = kwargs.get('sender', sender.get_global_sender()) timestamp = kwargs.get('time', int(time.time())) sender_.emit_with_time(label, timestamp, data)
def __init__(self, label, data, **kwargs): assert isinstance(data, dict), 'data must be a dict' self.label = label self.data = data self.sender_ = kwargs.get('sender', sender.get_global_sender()) self.timestamp = kwargs.get('time', int(time.time()))
def __init__(self, label, data, **kwargs): if not isinstance(data, dict) : raise Exception("data must be dict") s = kwargs['sender'] if ('sender' in kwargs) else sender.get_global_sender() timestamp = kwargs['time'] if ('time' in kwargs) else int(time.time()) s.emit_with_time(label, timestamp, data)
def __init__(self, label, data, **kwargs): if not isinstance(data, dict) : raise Exception("data must be dict") l = ('sender' in kwargs) and kwargs['sender'] or sender.get_global_sender() l.emit(label, data)