sql >> Databáze >  >> RDS >> Mysql

úlohy cronu nebo plánovač PHP

Myslím, že je třeba změnit váš koncept.

PHP neumí naplánovat úlohu, stejně jako MySQL. Spouštěče v MySQL se spouštějí, když dojde k dotazu mysql, nikoli v určitý čas. Ani

Toto omezení obvykle není problém při vývoji webu. Důvodem je, že vaše aplikace PHP by měla řídit všechna data, která přicházejí a odcházejí. Obvykle to znamená pouze HTML, který zobrazuje tato data nebo jiné formáty uživatelům nebo jiným programům.

Ve vašem případě o tom můžete přemýšlet takto. Termín je stanovený termínem. Můžete s nimi zacházet jako s daty a uložit je do databáze. Když termín nastane, není důležité, jde o to, že data, která jste odeslali ve vaší databázi, jsou zobrazena správně.

Když je na vaši žádost podán požadavek, zkontrolujte, zda je datum uzávěrky v minulosti, pokud ano, pak před zobrazením zobrazte, že projekt je uzavřen – nebo aktualizujte, že je projekt uzavřen.

Opravdu není důvod aktualizovat data nezávisle na vaší PHP aplikaci.

Obvykle jediné věci, které chcete naplánovat, jsou úlohy, které by ovlivnily vaši aplikaci z hlediska zatížení, nebo které je třeba provést pouze jednou, nebo kde je problémem souběžnost nebo čas.

Ve vašem případě neplatí nic z toho.

PS:PHPscheduler jsem nezkoušel, ale myslím, že to není pravý plánovač. Cron je démon, který spí, dokud není daný úkol splatný ve své frontě, provede úkol a pak spí, dokud není splatný další (alespoň to dělá v aktuálním algoritmu). PHP to nemůže udělat bez soketů a rozšíření fork, jako speciální nastavení. PHPscheduler tedy s největší pravděpodobností pouze zkontroluje, zda vypršelo datum úkolu, při každém načtení webové stránky (když PHP spustí stránku). To se neliší od toho, že jen zkontrolujete, zda datum na projektu nevypršelo, bez režie PHPScheduler.



  1. předání názvu tabulky jako parametru plsql

  2. Vytvoření časovače v Oracle Forms / Forms 6i a zobrazení hodin

  3. Jak vytvořit inicializátor pro vytvoření a migraci databáze mysql?

  4. SQL Server Update Trigger, získat pouze upravená pole