tutorial pricing microsoft job c# azure scheduled-tasks

pricing - Recomiende una biblioteca de programación de tareas C#



portal azure (6)

Consulte una nueva biblioteca de clases del Programador de tareas para .NET en CodeProject.

Estoy buscando una biblioteca C #, preferiblemente de código abierto, que me permita programar tareas con una buena cantidad de flexibilidad. Específicamente, debería poder programar cosas para que se ejecuten cada N unidades de tiempo, así como "Todos los días laborables a la hora XXXX" o "Todos los lunes a la hora XXXX". Más características que eso serían agradables, pero no necesarias. Esto es algo que quiero usar en Azure WorkerRole, que inmediatamente descarta las tareas programadas de Windows, "at", "Cron" y cualquier aplicación de terceros que requiera la instalación y / o una GUI para operar. Estoy buscando una biblioteca.


Hay un nuevo programador basado en la nube de Aditi Technologies llamado Scheduler .

Scheduler permite a los desarrolladores programar la ejecución de tareas a través de webhooks HTTP que se ejecutan en cronogramas CRON simples o complejos.



Quartz parece una buena solución.

Recientemente (este año) tuve que escribir un planificador de tareas personalizado en un gran proyecto en el que estaba trabajando. Ellos tampoco podían usar el Programador de tareas de Windows, y también querían la posibilidad de ejecutar funciones personalizadas en virtud de la carga de ensamblados (a través de un sitio web ASP.net) y hacer que el servicio ejecutara la tarea adecuada en el momento especificado.

La cosa era honestamente una pesadilla (no tanto para diseñar e implementar, pero la lógica de programación era un poco molesta).

Recomiendo encarecidamente agotar todas las otras vías antes de decidir "hacer tu propio" (¡también reinventar la rueda!).


Utilicé Quartz en mis días de Java y funcionó muy bien. Ahora lo estoy usando para algunos trabajos de .Net y funciona aún mejor (por supuesto, hay varios años para que se haya estabilizado). Así que sin duda secundaré las recomendaciones para ello.

Otra cosa interesante que debes considerar, con la que acabo de empezar a jugar es el nuevo System.Threading.Tasks en .Net 4.0. Acabo de utilizar las tareas para paralelizar el trabajo y toma una gran ventaja de los núcleos múltiples / procesadores. Noté que hay una clase llamada TaskScheduler, no la he examinado en detalle, pero tiene métodos como QueueTask, DeQueTask, etc. Puede valer la pena investigar al menos.


Quartz

"Quartz.NET es un puerto de framework de programación de trabajos Java de fuente abierta muy propicio (sic!), Quartz".

PD: Palabra al sabio, no intentes simplemente navegar a quartz.net cuando estás en el trabajo ;-)