Avatar billede aros Nybegynder
09. januar 2005 - 20:25 Der er 6 kommentarer og
1 løsning

automatisk udsendelse af nyheder

Hejsa
Sidder og roder lidt med etomite-cms systemet. Jeg ville gerne, hvis det var muligt at lave en funktion, der på en eller anden måde automatisk udsendte alle nyheder, som jeg tilføjer. Det skal udsendes en gang dagligt, f.eks kl. 01.00 hver nat, bliver alle nyheder udsendt, der er tilføjet dagen før.
Alle nyheder bliver skrevet til en mysql-db, og der vil det jo være muligt at trække en dato på oprettelsen.

Nogen der ved hvor jeg kan finde en kode der kan hjælpe mig, eller er der nogen der har erfaring med dette, der kan guide mig på vej?
Avatar billede tljensen Nybegynder
09. januar 2005 - 20:39 #1
man 5 crontab
f.eks
0 1 * * * su - apache -c /usr/bin/php[4,5] /foo/bar/baz/dostuff.php

eller:
0 1 * * * su - apache -c /usr/bin/php[4,5] /usr/bin/wget -q -O /dev/null http://foo.bar/URL

hvis du ikke har muligheder for cron, bliver du nødt til at programmere dig ud af det, men da php er et on-request sprog, bliver det besværligt, or hurtigt irriterrende.
Avatar billede aros Nybegynder
09. januar 2005 - 21:00 #2
den skal jeg vidst lige have skåret ud i pap ;o)

0 1 * * * su - apache -c /usr/bin/php[4,5] /foo/bar/baz/dostuff.php <--- hvad er dostuff.php

har ikke den fjerneste erfaring med cronjobs
Avatar billede mixeren Nybegynder
09. januar 2005 - 21:17 #3
dostuff.php er som fil navnet siger, den fil hvor du programere de hennelser du ønsker foretaget på det tidspunkt du sætter her: 0 1 * * *

http://www.webcafe.dk/artikler/diverse/cronjobs/
Avatar billede aros Nybegynder
10. januar 2005 - 08:11 #4
Jeg har desværre ikke mulighed for at køre cronjobs...
Lader spørgsmålet stå åbent til i aften for at se, om der er nogen der har lavet det i php....

Hvis ikke bliver pointene delt mellem jer for jeres ulejlighed.

mixeren vil du smide et svar
Avatar billede mixeren Nybegynder
10. januar 2005 - 09:45 #5
Man kan ikke lave det i php alene. Php kan nemlig ikke gøre noget på bestemte tidspunkter. Den er 100% afhængig af at der er en som besøger den side hvor scriptet findes.

Men det kan man klare ved at bruge en extern cron-services. Det virker på den måde at man laver scriptet, lægger det på sin egen server også får man en anden server til at besøge scriptet.

F.eks. tilbyder http://www.hostedcron.com/ sådan et system gratis. (Jeg kan ikke udtaler mig om kvaliteten, da jeg køre mine cronjob selv.)

Samler ikke på point. :-)
Avatar billede tljensen Nybegynder
10. januar 2005 - 13:00 #6
det eneste du umidbart kan gøre hvis du ikke har adgang til cron, og ikke vil til at være afhængig af andres services (som f.eks hostedcron) er at lave et tidscheck per request på en given side (php script), registrere en eventuel trigger f.eks i en fil eller database, og udsende dit nyhedsbrev der.

nej, det er ikke umidbart den fede løsning hvis du har 5000 subscribers og det skal laves af index.php, men sådan er det -kun- at have adgang til http-level scripting.

det store problem ligger i at php kun bliver executed ved request, det ligger ikke og kører i et stort while(1) loop eller lignende. (ikke at cli-versionen ikke kan det dog).
Avatar billede aros Nybegynder
11. januar 2005 - 08:26 #7
Tak for hjælpen begge to... prøver at kigge lidt på www.hostedcron.com og ser om jeg kan bruge det til noget.... ellers må jeg finde på en anden løsning.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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