[Alg] RSS Feed op website

Pagina: 1
Acties:

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Goed ik heb dus van een aantal sites een rss feed die ik wil weergeven op mijn website. Dit is verder geen probleem, maar hetgeen waar ik mee zit, is de tijd dat dit in beslag neemt.

Hoe kan ik dit nu het beste doen. Want als bijvoorbeeld 1 feed niet beschikbaar is, dan duurt het al een behoorlijk tijd voordat er een timeout optreed, en dat maakt je website niet sneller, omdat de pagina pas opgebouwd wordt, zodra ik de feed binnen heb.

Nu zag ik dat je ook de mogelijkheid hebt om het asynchroon te doen, maar hoe werkt dit dan precies, want ik zal te denken om dan de waarden maar in een database te proppen en elk kwartier de feed te updaten, maar dan zit je er nog steeds mee dat de eerste die de pagina gaat bekijken, moet wachten totdat de feeds in de database gepropt zijn.

Ik heb niet een mogelijkheid om een cronjob of iets dergelijks te runnen. Hoe doen jullie dat?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Waarom in een database dumpen? In application / cache vars werkt het ook goed. Afhankelijk van de gebruikte taal kan je hem ook in een aparte thread ophalen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik zou de laatste feed steeds cachen. Dat er nog niets is, is natuurlijk maar een one-time gelegenheid. Zodra er één keer een feed is binnengekomen heb je er altijd 1 om te verwerken.

Verder zou je zo'n cached feed aan een tijdsperiode kunnen koppelen, bijvoorbeeld 5 minuten. Wordt je script aangeroepen dan toon je de inhoud van de oude feed die je al hebt. In datzelfde script kijk je hoe oud die feed is. Is ie ouder dan 5 minuten, dan ga je een nieuwe feed opvragen. De bezoeker van je site hoeft hier natuurlijk niet op te wachten, aangezien hij er al een voor z'n neus heeft staan.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
gorgi_19 schreef op 08 januari 2004 @ 15:44:
Waarom in een database dumpen? In application / cache vars werkt het ook goed. Afhankelijk van de gebruikte taal kan je hem ook in een aparte thread ophalen.
Oooh jah sorry het gaat over ASP, daar is dat niet mogelijk dus :)
Ik zou de laatste feed steeds cachen. Dat er nog niets is, is natuurlijk maar een one-time gelegenheid. Zodra er één keer een feed is binnengekomen heb je er altijd 1 om te verwerken.
Hmmm maar dat moet toch dan nog steeds gebeuren in de opgevraagde pagina? Dus dat moet ik hem asynscroon laten lopen? Maar dan kan ik er geen script onderzetten wat dus met die feed aan het werk gaat. Zoals in een database proppen. Of bedoel je totaal wat anders? :o

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Erhm.. Je kan toch een Task planner of Taakplanner loslaten er op?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Het is voor een website he? Het wordt gewoon gehost bij een provider, en daar hebben we die mogelijkheid dus niet :)

Maar ik zat ook te denken om lokaal gewoon een programma te maken die het dan in een database wegschrijft, dan heb je ook nergens meer last van. Maar goed dan moet ik hem lokaal wel altijd dtraaien. Want ik kan de database wel benaderen vanuit hier.

Verwijderd

Maar ik zat ook te denken om lokaal gewoon een programma te maken die het dan in een database wegschrijft, dan heb je ook nergens meer last van
Als het MS SQLserver is en de SQL Server agent aanstaat en je rechten hebt om jobs aan te maken, kun je het programma/script op de server laten uitvoeren.

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Neeh het is Mysql :)

Verwijderd

Poging 2 dan

Kun je geen activeX component maken met een timer die geregeld de data ophaalt, en dan dit activeX component laden in de global.asa middels een <object> tag met scope=application.

Ik heb dit zelf nooit geprobeerd, dus kan niet garanderen of deze aanpak werkt.

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Nope dan moet die op de server geregistreerd worden en dat mag weer niet. oooh moeilijk ben ik zo he :P

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Oooh dat ziet er niet echt vriendelijk uit voor de server :o

En je hebt execute rechten nodig dan denk ik zo. Dan zou ik ook via telnet een programma moeten kunnen starten toch?

Verwijderd

Mooi is het niet idd, en je provider vindt het waarschijnlijk niet leuk.

Dezelfde constructie met 2 programma's zou onder telnet ook wel moeten werken denk ik.

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Jah maar dat lukt dus niet, dus die rechten heb ik niet :D

Dan had ik er anders ook wel een koetje draaien :o

[ Voor 32% gewijzigd door Phenomenon op 08-01-2004 20:53 ]


Verwijderd

laat een client die nooit offline gaan telkens aan pagina bezoeken, die op zijn beurt het caching-gedeelte regelt :)

mooi is het niet, maar dat kan ook

Verwijderd

Ik ben hier vandaag ook lang mee bezig geweest, maar heb de oplossing toch gevonden. Je kunt de timeouts (volgens mij van de connection socket) aanpassen. Ik heb het nu zo in mijn asp pagina zitten:

set objXMLHTTP = Server.CreateObject("MSXML2.SERVERXMLHTTP")
Dim lResolve, lConnect, lSend, lReceive
lResolve = 1 * 1000
lConnect = 1 * 1000
lSend = 15 * 1000
lReceive = 15 * 1000
objXMLHTTP.setTimeouts lResolve, lConnect, lSend, lReceive
objXMLHTTP.Open "GET",RS("url"), false
objXMLHTTP.SetRequestHeader "Content-type", "text/html"
objXMLHTTP.Send

Werkt prima. Als er een server niet bereikbaar is hoef je geen uren meer te wachten. Voor meer info MSDN:

http://msdn.microsoft.com...k/htm/xml_mth_sz_0cj7.asp
Pagina: 1