[Python-es] "Scheduler" implementado en python

7 views
Skip to first unread message

Jose Caballero

unread,
Feb 26, 2012, 2:44:38 PM2/26/12
to La lista de python en castellano
Hola,



necesitaría tener un "scheduler" de tareas en python.
La idea es crear una cola de tareas o "tasks", y poder pasar un algoritmo de "scheduling" que determine el orden en que esas tareas se ejecutan.
Las tareas se representan como objetos con un número arbitrario de atributos (lo más sencillo es una diccionario con "keys" arbitrarias).

Necesito poder ser capaz de escribir un fichero con algún formato donde pueda especificar el algoritmo de "scheduling".
Ese algoritmo establecería las prioridades, funciones de "ranking", etc, en función de los valores de esos atributos.
Por defecto sería una cola FIFO.

Quizás el formato para el algoritmo pueda ser XML.

La idea es que no haya nada del algoritmo escrito en el código, que el código sólo lea el fichero con las reglas y a partir de ahí sea capaz de implementar el algoritmo completo.

Las reglas pueden ser de cualquier tipo: desde tener en cuenta el orden temporal, el valor de los atributos (comparando sus valores entre los distintos candidatos), hasta cosas como si el valor de cierto atributo 'matchea' con el "hostname" de la máquina.


Pero no quiero reinventar la rueda.
Y estoy convencido de que ya hay cosas hechas en python.
Sin embargo, al no ser Informático, no conozco las palabras claves que debería buscar en google. He probado "python scheduler" y me han salido miles de cosas, pero no parecen ser lo que busco.

Si alguien me puede pasar links a cualquiera de estos temas estaré eternamente agradecido:


(a)   cómo crear ficheros para especificar reglas de priorización, funciones de "ranking", etc.
(b)   cómo leer esos ficheros e implementar el algoritmo. Si hay código ya hecho, mejor.



Muchas gracias por adelantado.
Saludos,
Jose

Òscar Vilaplana

unread,
Feb 26, 2012, 4:07:37 PM2/26/12
to La lista de python en castellano

Seguramente lo que buscas es una task queue, como por ejemplo celery.

Op 26 feb. 2012 20:44 schreef "Jose Caballero" <jcaball...@gmail.com> het volgende:
_______________________________________________
Python-es mailing list
Pyth...@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Jose Caballero

unread,
Feb 26, 2012, 4:12:47 PM2/26/12
to La lista de python en castellano
Hola Oscar.

Tiene buen aspecto. Quizas me pueda servir.

Lo que quizas diferencia mi caso de los habituales es que yo no ejecuto las tareas en la maquina local.
El resultado de mi scheduler simplemente decide la suguiente respuesta que un master debe dar cuando un cliente pregunta por la siguiente tarea. Esa comunicacion se hara via HTTP.

Voy a mirarme bien "celery" a ver lo que puedo sacar de ahi.

Muchas gracias.
Jose (ahora sin tildes)




2012/2/26 Òscar Vilaplana <h...@oscarvilaplana.cat>

Andrey Antoukh

unread,
Feb 27, 2012, 4:15:41 AM2/27/12
to La lista de python en castellano
Celery no obliga a que ejecutes las tareas en la maquina local ;)
Andrei
--
Andrei Antoukh - <ni...@niwi.be>
http://www.niwi.be/page/about/
http://www.kaleidos.net/A5694F/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"
Reply all
Reply to author
Forward
0 new messages