Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

241
Vistas
Ejecutar trabajo en Airflow basado en Webrequest

Quería saber si las tareas de flujo de aire se pueden ejecutar al recibir una solicitud a través de HTTP. No estoy interesado en la parte de programación de Airflow. Solo quiero usarlo como sustituto del apio.

Entonces, una operación de ejemplo sería algo como esto.

  1. El usuario envía un formulario solicitando algún informe.
  2. Backend recibe la solicitud y envía al usuario una notificación de que se ha recibido la solicitud.
  3. Luego, el backend programa un trabajo usando Airflow para que se ejecute de inmediato.
  4. Airflow luego ejecuta una serie de tareas asociadas con un DAG. Por ejemplo, primero extraiga datos de corrimiento al rojo, extraiga datos de MySQL, realice algunas operaciones en los dos conjuntos de resultados, combínelos y luego cargue los resultados en Amazon S3, envíe un correo electrónico.

De todo lo que leí en línea, puede ejecutar trabajos de flujo de aire ejecutando airflow ... en la línea de comando. Me preguntaba si hay una API de Python que pueda ejecutar lo mismo.

Gracias.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El complemento API REST de Airflow lo ayudaría aquí. Una vez que haya seguido las instrucciones para instalar el complemento, solo tendrá que presionar la siguiente URL: http://{HOST}:{PORT}/admin/rest_api/api/v1.0/trigger_dag?dag_id={dag_id}&run_id={run_id}&conf={url_encoded_json_parameters} , reemplazando dag_id con la identificación de su dag, o bien omitiendo run_id o especificando una identificación única, y pasando un json codificado en url para conf (con cualquiera de los parámetros que necesita en el dag desencadenado).

Aquí hay una función JavaScript de ejemplo que usa jQuery para llamar a la API de Airflow:

 function triggerDag(dagId, dagParameters){ var urlEncodedParameters = encodeURIComponent(dagParameters); var dagRunUrl = "http://airflow:8080/admin/rest_api/api/v1.0/trigger_dag?dag_id="+dagId+"&conf="+urlEncodedParameters; $.ajax({ url: dagRunUrl, dataType: "json", success: function(msg) { console.log('Successfully started the dag'); }, error: function(e){ console.log('Failed to start the dag'); } }); }
over 4 years ago · Santiago Trujillo Denunciar

0

Una nueva opción en el flujo de aire es el extremo de la API experimental , pero incorporado, en las compilaciones más recientes de 1.7 y 1.8. Esto le permite ejecutar un servicio REST en su servidor de flujo de aire para escuchar un puerto y aceptar trabajos cli.

Yo solo tengo una experiencia limitada, pero he realizado pruebas con éxito. Según los documentos:

/api/experimental/dags/<DAG_ID>/dag_runs crea un dag_run para un ID de dag determinado (POST).

Eso programará una ejecución inmediata de cualquier dag que desee ejecutar. Sin embargo, todavía usa el programador, esperando un latido para ver que dag se está ejecutando y pasar tareas al trabajador. Sin embargo, este es exactamente el mismo comportamiento que la CLI, por lo que sigo creyendo que se ajusta a su caso de uso.

La documentación sobre cómo configurarlo está disponible aquí: https://airflow.apache.org/api.html

También hay algunos clientes de ejemplo simples en github, en airflow/api/clients

over 4 years ago · Santiago Trujillo Denunciar

0

Debería mirar Airflow HTTP Sensor para sus necesidades. Puedes usar esto para activar un dag.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda