sql >> Database teknologi >  >> RDS >> Mysql

cron-job eller PHP-planlægger

Jeg tror, ​​dit koncept skal ændres.

PHP kan ikke planlægge et job, det kan MySQL heller ikke. Udløsere i MySQL udføres, når en mysql-forespørgsel opstår, ikke på et bestemt tidspunkt. Heller ikke

Denne begrænsning er normalt ikke et problem i webudvikling. Årsagen er, at din PHP-applikation skal kontrollere alle data, der går ind og ud. Normalt betyder dette kun HTML, der viser disse data, eller andre formater til brugere eller andre programmer.

I dit tilfælde kan du tænke over det på denne måde. Fristen er en fastsat dato. Du kan behandle det som data og gemme det i din database. Hvornår deadline indtræffer er ikke vigtigt, det er, at de data, du har sendt i din database, er set korrekt.

Når en anmodning sendes til din ansøgning, så tjek om datoen for deadline er i fortiden, hvis den er, så vis at projektet er lukket - eller opdater at projektet er lukket, lige før visning.

Der er virkelig ingen grund til at opdatere data uafhængigt af din PHP-applikation.

Normalt er de eneste ting, du ønsker at planlægge, job, der vil påvirke din ansøgning med hensyn til belastning, eller som kun skal udføres én gang, eller hvor samtidighed eller tid er et problem.

I dit tilfælde gælder ingen af ​​disse.

PS:Jeg har ikke prøvet PHPscheduler, men jeg kan gætte på, at det ikke er en ægte skemalægger. Cron er en dæmon, der sover, indtil en given opgave skal i køen, udfører opgaven og derefter sover, indtil den næste skal (det er i hvert fald, hvad den gør i den aktuelle algoritme). PHP kan ikke gøre det uden sockets og gaffeludvidelser, som speciel opsætning. Så PHPscheduler tjekker højst sandsynligt bare, om en dato for en opgave er udløbet, ved hver indlæsning af en webside (når PHP eksekverer en side). Dette er ikke anderledes, end du bare tjekker, om datoen på projektet er udløbet, uden overhead af PHPScheduler.



  1. Hvordan viser man billede fra databasen i CodeIgniter?

  2. Kan der eksistere flere primære nøgler på et enkelt bord?

  3. Forhistorisk og moderne tilgang til designdatabaser

  4. MySQL - SELECT ... WHERE id IN (..) - korrekt rækkefølge