api: add run_task().