Evaluating bids

Programacion de un servicio en C# para upload de archivos en forma automatica a un servidor web

Published on the May 25, 2018 in IT & Programming

About this project

Open

Agente que correra como servicio en PCs Windows y que empujara archivos alojados en una carpeta al un servidor Web a traves de una API.
Parametros del servicio:
  ActivationDate
  Minute
  RetryDays
  ScanFolder
  FileMask
  LocationID
  ErrLogHistory
  HostURL
  User
  Password
Al inicializarse el servicio debera setear <Minute> en un valor random de 0 a 59, indicando en que minuto de la hora intentara enviar archivos al host.
A cada hora el servicio debera, cuando el reloj de el valor de minutos indicado, revisar si hay algun archivo disponible en <ScanFolder> que coincida con <FileMask> generado con fecha superior al <ActivationDate> dentro de los ultimos <retryDays>, pero aun no enviado al server. En caso que lo hubiera, se conectara al servidor al <HostURL>:<Port> (debera soportar Http y Https), se autenticara, y enviara los archivos pendientes, asi como el ultimo errorlog. Los archivos se enviaran siempre con el prefijo LocationID#YYMMDDHHMMSS#Filename, incluyendo el error log en caso necesario (ver adelante).
La lista de los archivos enviados debera ser almacenada en un archivo "file sent history" durante un periodo de <RetryDays> para no ser reenviados, pero deberan ser borrados del mismo pasado este periodo para que el archivo no crezca indefinidamente. Una vez que los archivos y logs de errores hayan sido enviados con exito, todos los logs de errores deberan ser borrados. Solo se mantendra el log de la ultima conexion para troubleshooting.


En caso de errores de envio, el servicio almacenara un log del proceso en una carpeta temporal. El archivo ErrLog ira creciendo para comunicar los problemas de envio al servidor. El errorLog se separara por dias, teniendo un nombre de archivo que contenga la fecha.
En caso de que los errorres de envio duren mas de ErrLogHistory days, entonces solo los logs de errores de los ultimos dias seran enviados al servidor, de esta forma se evitara que crezca indefinidamente. Reinicio del servicio se carga en el error log. El formato del Error log debera ser de tipo CSV con los datos informativos del proceso ejecutado.
En caso de errores de envio, la app reintentara a cada hora reenviar todo lo pendiente.

Se debera entragar el codigo fuente del servicio.

Temas a considerar durante el QA:
    Estabilidad del servicio.
    No modificacion de datos en el <ScanFolder>
    Depuracion de los logs de errores
    Depuracion del historico de envios
    No reenvio de un archivo ya enviado
    No reenvio del log de errores
    Legibilidad del codigo.

Category IT & Programming
Subcategory Desktop apps
What is the scope of the project? Create a new app
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Required platforms Windows

Delivery term: Not specified

Skills needed