Evaluando propuestas

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

Publicado el 25 Mayo, 2018 en Programación y Tecnología

Sobre este proyecto

USD 1.000 - 3.000

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.

Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Plataformas requeridas Windows

Fecha de entrega: No definido

Habilidades necesarias

API C#

¿Te gustaría comenzar a trabajar en este proyecto?

Ingresa con tu cuenta de Workana o Regístrate. ¡Potencia tu trabajo freelance!

Freelancers que ya aplicaron para este trabajo

  • Programador con mas de 10 años de experiencia

  • Buen día: Soy un profesionalista dedica al desarrollo de paginas web y aplicaciones de escritorio, Brindo las soluciones necesarias requeridas a los clientes. Todos los desarrollos son probados e...

  • Experiencia en desarrollo de aplicaciones de escritorio en JAVA, C#, VB y web o movil en AngularJS y Angular

  • -&gt; I&#039;m an C/C++ experienced developer (Windows). -&gt; I&#039;ve been working on Visual Fox Pro for ten years. MS SQL, Postgre SQL. -&gt; Also I&#039;ve experience in C#, , java, python, C/C++ (unix), Aterisk PB...

  • Hola! Mi nombre es Santiago Wagner y soy un estudiante avanzado de la carrera Ingeniería en Sistemas (LU 248257) de la Universidad Nacional del Centro de la Provincia de Buenos Aires. Actualmente, ...