Process on a binlog event

    1. Convert event instance into a dict
    2. Send corresponding schema/table/signals

    Args:
        event (pymysqlreplication.row_event.RowsEvent): the event

def on_binlog(event, stream):
    """ Process on a binlog event

    1. Convert event instance into a dict
    2. Send corresponding schema/table/signals

    Args:
        event (pymysqlreplication.row_event.RowsEvent): the event
    """
    rows, meta = _rows_event_to_dict(event, stream)

    table_name = '%s.%s' % (meta['schema'], meta['table'])

    if meta['action'] == 'insert':
        sig = signals.rows_inserted
    elif meta['action'] == 'update':
        sig = signals.rows_updated
    elif meta['action'] == 'delete':
        sig = signals.rows_deleted
    else:
        raise RuntimeError('Invalid action "%s"' % meta['action'])

    sig.send(table_name, rows=rows, meta=meta)