async def METHOD_NAME(self):
    p_id = time.time()
    monitor.ping(state='run', series=p_id)
    executor = ThreadPoolExecutor()
    loop = asyncio.get_event_loop()
    futures = [loop.run_in_executor(executor, self.task)]
    try:
        await asyncio.gather(*futures)
        monitor.ping(state='complete', series=p_id)
    except Exception as err:
        await report_error(err)
        monitor.ping(state='fail', series=p_id)