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
Luigi - %s sin cumplir en tiempo de ejecución

Estoy tratando de aprender de una manera muy sencilla cómo funciona luigi. Como un novato se me ocurrió este código

 import luigi class class1(luigi.Task): def requires(self): return class2() def output(self): return luigi.LocalTarget('class1.txt') def run(self): print 'IN class A' class class2(luigi.Task): def requires(self): return [] def output(self): return luigi.LocalTarget('class2.txt') if __name__ == '__main__': luigi.run()

Ejecutar esto en el símbolo del sistema da un error que dice

 raise RuntimeError('Unfulfilled %s at run time: %s' % (deps, ',', '.join(missing)))

cual es:

 RuntimeError: Unfulfilled dependency at run time: class2__99914b932b
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto sucede porque define una salida para class2 pero nunca la crea.

Vamos a desglosarlo...

al correr

 python file.py class2 --local-scheduler

luigi preguntará:

  • ¿La salida de class2 ya está en el disco? NO
  • verifique las dependencias de la class2 : NINGUNA
  • ejecutar el método de run (por defecto es un pass de método vacío)
  • El método de ejecución no devolvió errores, por lo que el trabajo finaliza correctamente.

Sin embargo, al ejecutar

 python file.py class1 --local-scheduler

Luis hará:

  • ¿La salida de class1 ya está en el disco? NO
  • verifique las dependencias de tareas: SÍ: class2
  • pausa para comprobar el estado de la clase 2
    • es la salida de class2 en el disco? NO
    • ejecutar class2 -> ejecutando -> hecho sin errores
    • es la salida de class2 en el disco? NO -> error de subida

luigi nunca ejecuta una tarea a menos que se cumplan todas sus dependencias anteriores. (es decir, su salida está en el sistema de archivos)

over 4 years ago · Santiago Trujillo Denunciar

0

También soy un principiante en luigi. Gracias por señalar este tipo de errores.

Siguiendo, la respuesta anterior logré resolverla agregando a class2

 def run(self): _out = self.output().open('w') _out.write(u"Hello World!\n") _out.close() print('in class B')
over 4 years ago · Santiago Trujillo Denunciar

0

Este error viene porque si obtiene la salida que nunca se creará. ex. si la carpeta de salida se crea por marca de tiempo. cambio de marca de tiempo en cada segundo por lo que nunca será el mismo. por lo que el error podría venir.

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