Avatar billede goose Nybegynder
18. marts 2004 - 07:34 Der er 18 kommentarer og
1 løsning

Kør kode en gang i døgnet ?

Jeg vil gerne have eksekveret en kode der rydder lidt op i gamle indlæg i databasen én gang i døgnet.
Da jeg ikke kan køre automatiske scripts på serveren, vil jeg gerne vide om man på en eller anden måde kan lave det således, at den første bruger der besøger sitet i hvert døgn, eksekverer denne kode og resten gør det ikke ?
Det er selvfølgelig ikke noget den første bruger skal mærke noget til at det sker, altså ingen fysisk aktivitet fra brugeren :o)

/Goose
Avatar billede crapman Nybegynder
18. marts 2004 - 07:45 #1
Hmm, mit forslag må være, at du opretter en tabel i din database, indeholdende et felt til dato... Hver gang din side besøges checker den så om date findes i databsen, og hvis ikke den gør det, så kører du scriptet der rydder og og opretter en post i databasen med dagens dato.......
Avatar billede retry Nybegynder
18. marts 2004 - 09:43 #2
Du kan også styre det med en application variable indeholdende dato for seneste oprydning.
Avatar billede crapman Nybegynder
18. marts 2004 - 09:49 #3
Retry: Denne vil dog blive nulstillet hvis serveren genstartes.... men hvis det er en opgave som gerne må udføres mere end en gang i døgnet, så er det helt klart en mulighed
Avatar billede goose Nybegynder
18. marts 2004 - 09:58 #4
retry>> kan du forklarer den lidt nærmere ?

/Goose
Avatar billede retry Nybegynder
18. marts 2004 - 10:13 #5
Øh, forklare hvad?
Avatar billede goose Nybegynder
18. marts 2004 - 10:24 #6
ja lidt nærmere hvordan man en application variable sådan rent praktisk ?

/Goose
Avatar billede retry Nybegynder
18. marts 2004 - 10:30 #7
Application variables er lige som session variables, men er tilgængelige fra alle sessioner. Ændrer man en application variable, bør man dog låse imens, fx

Application.Lock
Application("minAppVar") = "noget"
Application.Unlock

Ellers, kig i asp-dokumentationen.
Avatar billede crapman Nybegynder
18. marts 2004 - 10:56 #8
Du behøver faktisk ikke negang lave en application.lock så vidt jeg husker kan du nøjes med at lave en application("var")

Så det du leder efter er:


if application("dato") <> date then

' Udfør din opgave....

application("dato") = date
end if
Avatar billede goose Nybegynder
18. marts 2004 - 11:12 #9
Det er meget fint, men hvor præcist skal jeg indsætte dette, brugeren kan jo komme ind på hvilken som helst side, det vil jo ikke altid være default siden der er den først besøgte ?
Skal det evt. indsættes på alle sider ?

Som det måske er gået op for den kvikke læser, så har jeg aldrig stiftet bekendtskab med application variabler :o)

/Goose
Avatar billede crapman Nybegynder
18. marts 2004 - 11:18 #10
Ja, du kan evt. indsætte det på alle sider, du kan også smide det i en include fil og smide den på alle sider, eller lave en global.asa fil, som jo køres når brugeren connecter til siden....
Avatar billede goose Nybegynder
19. marts 2004 - 08:07 #11
Jeg er lidt i tvivl om hvordan det der applikation virker.
I går uploadede jeg en fil til min server der indeholdt følgende:

application("dato") = date
response.write application("dato")

- så skrev den godt nok datoen for i går

I dag udkommenterede jeg så den første linie så den blev:

response.write application("dato")

- og så udskrev den ingenting, burde den ikke have udkrevet datoen for i går ?

/Goose
Avatar billede retry Nybegynder
19. marts 2004 - 08:30 #12
Application variabler mistes, hvis applikationen genstartes. Enten hvis du ændrer i global.asa, eller hvis serveren (eller bare servicen) bliver genstartet.
Avatar billede goose Nybegynder
19. marts 2004 - 10:04 #13
retry >> lægger du også lige et svar, så deler i pointene ?

/Goose
Avatar billede retry Nybegynder
19. marts 2004 - 10:06 #14
Jeg samler ikke på points, men ellers tak.
Avatar billede goose Nybegynder
19. marts 2004 - 10:17 #15
ok, så går de til crapman :o)

/Goose
Avatar billede crapman Nybegynder
19. marts 2004 - 10:18 #16
jamen taktak... virker det?
Avatar billede goose Nybegynder
19. marts 2004 - 10:47 #17
tilsyneladende ja, det eneste er jo så som i selv skriver at hvis serveren bliver genstartet eller lign, så er application variablen væk, men det bliver jo så blot sat når den første besøgende ankommer til sitet.

Jeg tror på det virker :o)

/Goose
Avatar billede retry Nybegynder
19. marts 2004 - 10:55 #18
Bare rolig, teknikken virker fint. Og det er vel næppe noget problem, hvis der bliver ryddet op i databasen en ekstra gang ved genstart. Eneste svaghed er, at der kræves mindst ét besøg i døgnet på netstedet. Men det kan man jo sætte en overvågningsservice til, fx siteprobe.com.
Avatar billede goose Nybegynder
19. marts 2004 - 11:21 #19
Det er som du skriver slet ikke noget problem. Det jeg skal bruge det til er, at der bliver fjernet annoncer der er udløbet inden brugeren kommer ind på sitet, så jeg formoder jeg kan bruge det til det. Jeg har ikke fået det konstrueret færdigt endnu, det kniber lige lidt med tiden :o)

/Goose
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester