Theoretically, you can probably use fail_stop to fail the whole dag when the task fails. Then use on_failure_callback and invoke the dag programmatically from there. You will have to manage retries yourself there, otherwise you run the risk of rerunning infinitely.
But I would advise against doing it. One of the powers of Airflow that you can rerun the pipeline from where it failed and save on time and resources. Retries are built-in and you don’t need to implement yourself. I would encourage you to rethink of the design of your dag, and consider to redesign it in a way that you don’t have to do this. In each and every case we had in my team, we were able to do so.