async def METHOD_NAME(context, event):
    context.logger.debug('Received event! event.body: {0}, event.headers: {1}'.format(event.body, event.headers))
    if event.trigger.kind in ('kafka-cluster', 'v3ioStream', 'v3io-stream'):
        context.logger.debug('Adding event to offset queue - event.body: {0}, event.offset: {1}'.format(
            event.body,
            event.offset,
        ))
        # add event to file
        write_event_offset_to_file(context, event)
        # ensure no ack on response
        response = nuclio_sdk.Response()
        response.status_code = 200
        response.ensure_no_ack()
        return response
    if event.trigger.kind == 'http':
        response = nuclio_sdk.Response()
        response.status_code = 200
        response_body = {}
        resource = json.loads(event.body).get('resource')
        if resource == 'queue_size':
            queue_size = get_number_of_enqueued_events()
            context.logger.info('current queue size: {0}'.format(queue_size))
            response_body['queue_size'] = queue_size
        elif resource == 'last_committed_offset':
            last_commit_offset = get_last_commit_offset()
            context.logger.info('last committed offset: {0}'.format(last_commit_offset))
            response_body['last_committed_offset'] = last_commit_offset
        elif resource == 'start_processing':
            context.logger.info('start processing')
            await process_events(context)
            response_body['started_processing'] = True
        if not resource:
            response_body['not_implemented'] = True
            response.status_code = 400
        response.body = response_body
        return response