Find Jobs
Hire Freelancers

Planificador de Trabajos

$30-250 USD

Cancelado
Publicado hace alrededor de 9 años

$30-250 USD

Pagado a la entrega
IMPORTANTE: - Leer atentamente la propuesta. - No contestar con respuestas pre hechas. A los pre-seleccionados se les pasará una documentación más extendida. Resumen: Se debe desarrollar una aplicación utilizando las tecnologías NodeJS y MongoDB el cual llamaremos “Planificador” (de Trabajos). El “Planificador” obtiene desde una base de datos “Trabajos” existentes y debe insertar en otra base de datos “Ordenes de ejecución de Trabajos”, en base a la configuración de momento de ejecución de cada “Trabajo”. Esto es la misma idea que el “Programador de Tareas” de Windows o el “cron” de Unix. --------------------- Extendido: Al iniciarse el “Planificador” obtiene desde una base de datos todos los “Trabajos” existentes. Cada “Trabajo” obtenido de la base de datos tendrá, entre otros campos: - _id: ObjectID. Identificador único del Trabajo - nombre: String. Nombre del Trabajo - fechaMod: Date. Ultima fecha en la cual fue modificado - planificaciones: [String]. Una o más configuraciones de cron tipo unix Es muy importante el campo “planificaciones”. Cada “Trabajo” se debe ejecutar cada determinado tiempo este está especificado en una o más configuraciones que se encuentran en la propiedad “planificaciones”. Ejemplo - _id: - nombre : “Tomar Cafe” - fechaMod: - planificaciones: [‘/30 10-18 * * *’,”0 22 * * 6,7”] Entonces el Planificador al ver esto deberá entender que el Trabajo “Tomar Cafe” se debe ejecutar “cada 30 minutos entre las 10 y las 18 horas todos los días de la semana” y “ a las 22 horas los sábados y domingos”. X cantidad de minutos antes del momento de ejecución, deberá agregar a otra base de datos la “Orden de ejecución de Trabajo”. La “Orden de Ejecución de Trabajo” tiene las siguientes propiedades: - _id: ObjectID - - tra: {Object}. Información del trabajo - - _id: ObjectID. Identificador del trabajo - - fecMod: Date. Fecha de modificación del trabajo - fecPla: Date. Fecha en la cual se debe ejecutar el trabajo. Además deberá agregar en una base de datos, colección “Ordenes_ya_planificadas” un documento el cual tendrá el identificador del trabajo y la última fecha de planificación generada para el trabajo. - NO duplicar las Ordenes de Ejecución de Trabajo. - Cuando el Planificador se inicia, obtiene los trabajos y resuelve los próximos momentos en los cuales se debe ejecutar cada uno de ellos, no se deben generar Órdenes de Ejecución de Trabajo para aquellos momentos en los cuales ya se agregó una orden. Debido a esto la existencia de la base de datos “Ordenes_ya_planificadas”. Imaginemos esta situación: El planificador genera órdenes de trabajo y por un motivo se cierra inesperadamente. Lo dicho anteriormente es útil para estos casos. - Pruebas -. El trabajo también incluye la realización de tests para confirmar que la app funciona correctamente. Los test deben ser realizados con Mocha. - A tener en cuenta al momento de desarrollar la aplicación - • En NPM ya hay módulos existentes que pueden interpretar configuraciones de cron, se deberá investigar y elegir el mejor que se adapte a la necesidad de la aplicación. • Los comentarios, los nombres de objetos, variables, funciones, etc deben ser descriptivos y estar en español. • Todas las métodos deben tener un header en el cual se explique cuál es la tarea del método, los parámetros que recibe y en caso de corresponder, la respuesta. También cada archivo .js debe tener un header el cual explica cuáles son las responsabilidades del módulo. • Se debe utilizar el módulo <log4js> para logs. • Se debe utilizar el módulo <config> para los archivos de configuración (se deben escribir en YAMP). No debe haber constantes en la aplicación que no se carguen desde el archivo de configuración. • Se debe utilizar el driver nativo de MongoDB. Ya que no se justifica el uso de algún framework como mongoose.
ID del proyecto: 7307146

Información sobre el proyecto

4 propuestas
Proyecto remoto
Activo hace 9 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
4 freelancers están ofertando un promedio de $269 USD por este trabajo
Avatar del usuario
Hola, me llamo Fernando, soy un desarrollador de Mendoza. He trabajado bastante con nodejs, y también con varias bases de datos no-sql. Espero ver más detalles del proyecto. Saludos
$222 USD en 15 días
5,0 (4 comentarios)
3,0
3,0
Avatar del usuario
A proposal has not yet been provided
$444 USD en 15 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Buenos dias, tengo experiencia en node.js y MongoDB, la aplicacion que quieres es facil de desarrollar asi que podemos ponernos de acuerdo. Si estas interesado escribeme. Saludos, Noel
$222 USD en 3 días
0,0 (0 comentarios)
2,0
2,0
Avatar del usuario
La propuesta todavía no ha sido proveída
$188 USD en 5 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de ARGENTINA
Capital Federal, Argentina
5,0
2
Forma de pago verificada
Miembro desde feb 21, 2015

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.