A new option in airflow is the experimental but integrated API endpoint in later builds 1.7 and 1.8. This allows you to run the REST service on the airflow server to listen on the port and accept cli jobs.
I have only limited experience, but I have successfully tried the tests. According to the docs:
/api/experimental/dags/<DAG_ID>/dag_runs creates a dag_run for this dag identifier (POST).
This will schedule an immediate start for any label you want to run. However, he still uses the scheduler, waiting for the heartbeat to see that the dag is working, and transfer tasks to the worker. This is exactly the same behavior as in the CLI, so I still believe that it is suitable for your use case.
The documentation for setting it up is available here: https://airflow.apache.org/api.html.
Github also has some simple client examples under airflow / api / clients
source share