Find Jobs
Hire Freelancers

Aplicación en NodeJS

N/A

Zamknięte
Opublikowano około 9 lat temu

N/A

Płatne przy odbiorze
IMPORTANTE: - Leer atentamente la propuesta. - No contestar con respuestas pre hechas. A los pre-seleccionados se les pasará una documentación más extendida. <em><strong>Resumen</strong></em>: 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. <em><strong>Extendido</strong></em>: 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. <em><strong>NO duplicar las Ordenes de Ejecución de Trabajo</strong></em> 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. <strong><em>Pruebas</em></strong>. El trabajo también incluye la realización de tests para confirmar que la app funciona correctamente. Los test deben ser realizados con Mocha. <em><strong>A tener en cuenta al momento de desarrollar la aplicación</strong></em> • 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 para logs. • Se debe utilizar el módulo 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.
Identyfikator projektu: 12388617

Informację o projekcie

1 oferta
Zdalny projekt
Aktywny 9 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
1 freelancer is bidding on average $250 ARS for this job
Awatar Użytkownika
Hola, Antes que nada, quiero comentar que me gusta el proyecto porque parece un lindo desafió y me interesa saber para que se lo requiere. No soy un experto con Node, pero programo hace mas de 15 años. Cual es el plazo de entrega? Comentario: Según lo que entiendo de la especifica, no es necesaria la “Ordenes_ya_planificadas”, _id + fecPla deberían ser únicos en “Orden de ejecución de Trabajo” y por lo tanto debería poder validarse antes de insertar el nuevo documento. Saludos
$250 ARS w 10 dni
0,0 (0 opinii)
0,0
0,0

O kliencie

Flaga ARGENTINA
Capital Federal, Argentina
5,0
2
Zweryfikowana metoda płatności
Członek od lut 21, 2015

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.