Toon posts:

[database] elke 24 uur een var veranderen

Pagina: 1
Acties:

Verwijderd

Topicstarter
(Met rows bedoel ik de velden die in die rows staan)

Ik heb een database-tabel met 3 rows. De inhoud van deze 3 rows blijven van 00:00 tot 23:59u hetzelfde, maar dan moeten ze veranderd worden. En de dag erop ook, weer, enz. De rows worden veranderd aan de hand van de datum (dus bijvoorbeeld row 1 = timestamp * 2).
Nou heb ik geen zin om elke nacht om 00:00u uit mijn bed te gaan om ze te wijzigen, dus moet de website dit zelf doen.

Een oplossing kan zijn om een check te doen bij de 1e bezoeker van de website. Dus als de 1e bezoeker komt, de website opvraagt en de site 'ziet dat de datum anders is geworden (de volgende dag dus) dan veranderd die de rows.

Het lastige is dat het in mijn voorbeeld 3 vars zijn, maar in werkelijkheid zijn het meer dan 1000 vars...

Is dit het meest logische? Ik vindt dit echt heel moeilijk om uit te leggen en hoop dan ook dat jullie het begrijpen. Zo niet, ik ben er nog wel even dus vraag maar als er iets niet duidelijk is....
Als ik het op bovenstaande manier moet doen, dan houdt dat in dat tijdens de visit van de 1e bezoeker na middernacht er een grote tabel-update plaats vindt en dat hij er misschien last van heeft?

[ Voor 22% gewijzigd door Verwijderd op 03-04-2003 18:56 ]


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 17:06

Super_ik

haklust!

crontabje aanmaken lijkt me handiger

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Topicstarter
Wat is een 'crontabje' ?

[ Voor 78% gewijzigd door Verwijderd op 03-04-2003 18:57 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Gebruik je een *nix operating system?
doe dan eens:
code:
1
man crontab

ad prompt.

Gebruik je Windows, kijk dan eens naar de scheduler.

https://fgheysels.github.io/


Verwijderd

Volgens mij is het een vaag verhaal omdat je de oplossing zelf al half wil aandragen. Wat wil je nu echt (uiteindelijk) want misschien is de halve oplossing die je nu hebt totaal overbodig... ?

Verwijderd

Crontab is taakplanner voor linux.

Verwijderd

Topicstarter
Verwijderd schreef op 03 April 2003 @ 18:58:
Volgens mij is het een vaag verhaal omdat je de oplossing zelf al half wil aandragen. Wat wil je nu echt (uiteindelijk) want misschien is de halve oplossing die je nu hebt totaal overbodig... ?
Klopt, ik leg een oplossing voor, maar wellicht zijn er betere alternatieven? Want zoals ik vermeld krijgt de 1e bezoeker na middernacht nu te maken met een grote tabel update ( = berekeningen ) en ik kan me voorstellen dat hij dan een lange laadtijd heeft!?

Overigens, ik kan geen UNIX (daar staat mijn website op gehosted) proggies maken want ik ben dan weer niet de eigenaar van de server. Ik huur gewoon 25 mb...

Overigens is mijn website in PHP gemaakt en de DB is gestuurd met MySQL.

[ Voor 19% gewijzigd door Verwijderd op 03-04-2003 19:02 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Wat voor berekeningen doe je dan 1x per dag, en waarom duren die zo lang, misschien moet je daar eens naar kijken. Verder zal het voor 1 gebruiker niet zo heel erg zijn dat deze een langere wachttijd heeft, tenzij het er natuurlijk maar 3 per dag zijn :)

  • tomato
  • Registratie: November 1999
  • Niet online
Bij veel hosts kun je wel crontab gebruiken. Kijk eens of je een cronjob kunt maken met
code:
1
$ crontab -e

in je shell (ik hoop dat je shell toegang hebt via SSH?).


[edit]
Als je dit niet hebt kun je voor je eerste methode gaan.

Je kunt misschien ook een apart PHP script maken dat de nodige dingen uitvoert. Je kunt deze dan zelf aanroepen (plaats hem eventueel onder een niet te raden URL, hoewel het nog een stuk veiliger kan als dat nodig is) of laten aanroepen door een scheduler (bijv crontab of taakplanner onder Windows) op een machine waar je dit wel in kunt stellen.

Nadeel van deze laatste methode is dat je afhankelijk bent van die andere machine. Voordeel is dat je niet afhankelijk bent van een bezoeker op een bepaald tijdstip en dat die bezoeker geen eventueel langere laadtijd krijgt.

[ Voor 66% gewijzigd door tomato op 03-04-2003 21:44 ]


Verwijderd

tomato schreef op 03 April 2003 @ 21:40:
Je kunt misschien ook een apart PHP script maken dat de nodige dingen uitvoert. Je kunt deze dan zelf aanroepen (plaats hem eventueel onder een niet te raden URL, hoewel het nog een stuk veiliger kan als dat nodig is) of laten aanroepen door een scheduler (bijv crontab of taakplanner onder Windows) op een machine waar je dit wel in kunt stellen.
Let wel op dat de meeste hosters geen php-cgi hebben geinstalled.
En als ze dat voor je willen doen, vertel er dan ff bij dat je ook database ondersteuning wilt (is niet standaard).

Verwijderd

Waar zat die edit knop ook al weer?

[ Voor 96% gewijzigd door Verwijderd op 03-04-2003 22:03 ]


  • tomato
  • Registratie: November 1999
  • Niet online
Verwijderd schreef op 03 april 2003 @ 22:02:
Let wel op dat de meeste hosters geen php-cgi hebben geinstalled.
En als ze dat voor je willen doen, vertel er dan ff bij dat je ook database ondersteuning wilt (is niet standaard).
Euhm.... dat is voor de optie die ik als laatst noem toch juist niet nodig :?

Ik bedoelde dat het gewoon een pagina binnen je www directory was. Die je dus met je browser kunt aanroepen, of met ieder ander tool dat een HTTP request kan doen (en dat kun je dus via een scheduler laten doen).

Wil je een cronjob op de server zelf draaien, dan is het inderdaad wel handig om PHP via de commandline te kunnen starten, aangenomen dat je het per se met PHP wilt doen. Het is natuurlijk niet nodig, je kunt altijd een URL op dezelfde webserver aanroepen, maar dat is dan wel een omweg.

Verwijderd

tomato schreef op 03 April 2003 @ 22:18:
Wil je een cronjob op de server zelf draaien, dan is het inderdaad wel handig om PHP via de commandline te kunnen starten, aangenomen dat je het per se met PHP wilt doen. Het is natuurlijk niet nodig, je kunt altijd een URL op dezelfde webserver aanroepen, maar dat is dan wel een omweg.
Veiligheid ten top.

Dat betekent dus dat iedereen dat filetje kan oproepen (dat kan ook met een niet te raden url).

[ Voor 5% gewijzigd door Verwijderd op 03-04-2003 22:20 ]


  • tomato
  • Registratie: November 1999
  • Niet online
Verwijderd schreef op 03 April 2003 @ 22:19:
Dat betekent dus dat iedereen dat filetje kan oproepen (dat kan ook met een niet te raden url).
Precies, dat bedoelde ik en dat zei ik ook (dat het veiliger kan). Je kunt bijvoorbeeld kiezen voor een POST method waarin een wachtwoord mee gestuurd moet worden.

[edit]
Maar wie zegt er dat het voor de TS erg is als dat kan? Misschien maakt hem dat helemaal niets uit, misschien wil hij het een beetje voorkomen met een 'geheime' url, maar vind hij het niet erg als er af en toe iemand het script triggert.

[ Voor 26% gewijzigd door tomato op 03-04-2003 22:25 ]

Pagina: 1