Agilizar página web

Hola experto.
Estoy realizando una página web con visual studio 2010 en ASP.net. Ésta página recoge información de otras página y luego la filtra y la procesa según los requerimientos del cliente. El problema es que tarda mucho tiempo en recoger esta información. Tengo hecho un procedimiento que recoge la información y otros que la procesan. La pregunta es ¿Se puede hacer de alguna manera para que el servidor ejecute este proceimiento cada cierto tiempo, digamos cada hora, y almacene la información devuelta?
De esta manera cuando se conecte el cliente sólo habría que mostrarle la información anteriormente guardada y sería mucho más rápido.
Muchas gracias. Un saludo.

1 Respuesta

Respuesta
1
Todo depende de cómo tengas estructurados los scipts que recogen y procesan la información.
Si se pudieran ejecutar desde línea de comandos (en PHP se puede hacer algo del tipo 'php nombrescript.php'), desde luego que podrías hacer un trabajo periódico en el sistema operativo que se ejecutara cada cierto tiempo y almacenara los resultados.
Otra opción que puedes probar es a almacenar los resultados de las consultas, y mostrarlos durante POR tiempo después de terminar la consulta, así la única consulta que se notaría "lenta" sería la primera después de cierto tiempo (por ejemplo sólo hacer consultas nuevas cada 15 minutos).
¿Qué frecuencia de uso tiene el script en cuestión?
Hola. Gracias por tu respuesta.
Te comento. El script es un procedimiento escrito en vb.net. También había pensado yo la segunda opción, pero el problema es que la carga de información puede tardar unos 2 minutos y puede ser insoportable para el que le toque. La frecuencia no es muy grande, como te comenté me bastaría que se ejecutara cada hora.
La primera opción creo que sería la mejor. Tendría que reescribir el procedimiento a PHP, nunca lo he hecho, pero supongo que no sería complicado. La cuestión es ¿se puede lanzar éste script en PHP cada cierto tiempo? Es que en principio querría colgar la página en algún servidor gratuito y no sé si se podría hacer desde la línea de comandos (es que esto es nuevo para mi, hasta ahora sólo había hecho web sencillitas y las había colgado sin más)
De nuevo muchas gracias. Estaré fuera una semana así que no podré valorar tu respuesta hasta que vuelva.
Un saludo!
Yo te hablo de PHP porque es lo que más conozco, pero no tiene por qué ser así.
Dependiendo del hosting, puedes programar ciertos procesos periódicos (un CRON o similares), que permiten ejecutar scripts desde la línea de comandos con la regularidad que quieras. Todos los scripts PHP se pueden ejecutar de esta manera:
php ruta_al_fichero.php
En VB.net me supongo que será similar (además es difícil encontrar un hosting que proporcione simultáneamente PHP y .NET).
Si tienes más datos del hosting que vayas a usar, envíamela y podemos mirar si tienen procesos periódicos/Cron o similar :)
Hola!
Ya estoy otra vez por aquí. En principio no tengo todavía decidido ningún hosting. Estoy buscando uno que, como tú comentas, permita ejecutar tareas periódicamente, pero al tener que correr con iis, es difícil encontrar uno. La solución más aceptable que he encontrado son los servidores virtuales, pero son demasiado caros, ya que como te comenté, prefiero probar primero la página en algún servidor gratuito para ver la aceptación que tiene.
Así que llegados a este punto me estoy planteando montar temporalmente la página en mi propio ordenador y así poder ejecutar el script mediante el task manager y si veo que la cosa funciona pasar todo a PHP y meterla en un servidor Linux que permita el uso del Cron.
Si se te ocurriese algo mejor o conocieses algún hosting que permita la ejecución temporal con iis te agradecería alguna pista. Si no optaré por la solución que te he dicho. (Me tocará ponerme a estudiar PHP, pero bueno nunca viene mal je je)
Muchas gracias por tu respuesta.
Un saludo.
Pues la verdad es que no conozco hostings en ASP que sean lo bastante confiables como para poder poner un servicio; he buscado un poco en google y he encontrado esta lista:
http://freehosting1.net/free_aspnet_hosting.aspx
Sobre hostearlo tú en tu propio ordenador, lo puedes hacer fácilmente, sólo tienes 2 problemas:
* La velocidad de conexión (las conexiones ADSL normalmente tienen poca velocidad de subida, y si tu web utiliza muchas imágenes o similar se va a notar, y poco importa lo que optimices la web si luego las imágenes tardan un montón en cargar)
* Necesitas dejar tu ordenador/servidor permanentemente encendido.
* Cuestiones de seguridad, estás exponiendo tu equipo a internet y tienes el riesgo de intrusiones/ataques.
Lo bueno es que hay un montón de herramientas para que puedas tener acceso fácil a tu equipo, como por ejemplo DynDNS o NoIP.
¡Mucha suerte con la opción que elijas!
PD: Si te pasas a PHP, te recomiendo que le eches un ojo al Framework Symfony, te va a ahorrar MUCHÍSIMO tiempo (es como Ruby on Rails pero para PHP :) )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas