sql >> Database >  >> RDS >> Mysql

cron-taken of PHP-planner

Ik denk dat je concept moet veranderen.

PHP kan geen taak plannen, en MySQL ook niet. Triggers in MySQL worden uitgevoerd wanneer een mysql-query plaatsvindt, niet op een specifiek tijdstip. Geen van beide

Deze beperking is meestal geen probleem bij webontwikkeling. De reden is dat uw PHP-toepassing alle gegevens moet beheren die in en uit gaan. Meestal betekent dit alleen de HTML die die gegevens of andere formaten weergeeft aan gebruikers of andere programma's.

In jouw geval kun je er zo over nadenken. De deadline is een vaste datum. U kunt het als gegevens behandelen en in uw database opslaan. Wanneer de deadline verstrijkt is niet belangrijk, het is dat de gegevens die u in uw database hebt verzonden correct worden bekeken.

Wanneer er een verzoek aan uw aanvraag wordt gedaan, controleer dan of de datum van de deadline in het verleden ligt, en zo ja, laat dan zien dat het project is gesloten - of update dat het project is gesloten, net voordat u het weergeeft.

Er is echt geen reden om gegevens onafhankelijk van uw PHP-toepassing bij te werken.

Gewoonlijk zijn de enige dingen die u wilt plannen taken die van invloed zijn op uw toepassing in termen van belasting, of die slechts één keer hoeven te worden gedaan, of waar gelijktijdigheid of tijd een probleem is.

In jouw geval is geen van deze van toepassing.

PS:Ik heb PHPscheduler niet geprobeerd, maar ik kan raden dat het geen echte planner is. Cron is een deamon die slaapt totdat een bepaalde taak in de wachtrij moet staan, de taak uitvoert en dan slaapt tot de volgende moet (tenminste dat is wat het doet in het huidige algoritme). PHP kan dat niet zonder de sockets en fork-extensies, als speciale setup. Dus PHPscheduler controleert hoogstwaarschijnlijk alleen of een datum voor een taak is verlopen, bij elke keer dat een webpagina wordt geladen (wanneer PHP een pagina uitvoert). Dit is niet anders dan gewoon controleren of de datum op het project is verlopen, zonder de overhead van PHPScheduler.



  1. MSSQL record datum/tijd automatisch verwijderen

  2. Hoe JSON-gegevens op te halen uit MySQL?

  3. Datumbereik selecteren MySQL met date_format

  4. Hoe de n-de rij te vinden in MySQL