sql >> Databasteknik >  >> RDS >> Mysql

cron-jobb eller PHP-schemaläggare

Jag tror att ditt koncept måste förändras.

PHP kan inte schemalägga ett jobb, inte heller MySQL. Triggers i MySQL körs när en mysql-fråga inträffar, inte vid en specifik tidpunkt. Inte heller

Denna begränsning är vanligtvis inte ett problem i webbutveckling. Anledningen är att din PHP-applikation bör kontrollera all data som går in och ut. Vanligtvis betyder detta bara HTML som visar dessa data, eller andra format för användare eller andra program.

I ditt fall kan du tänka på det så här. Deadline är ett fastställt datum. Du kan behandla det som data och spara det i din databas. När tidsfristen infaller är inte viktigt, det är att uppgifterna du har skickat i din databas visas korrekt.

När en begäran görs till din ansökan, kontrollera om datumet för deadline ligger i det förflutna, om så är fallet, visa sedan att projektet är stängt - eller uppdatera att projektet är stängt, strax före visning.

Det finns verkligen ingen anledning att uppdatera data oberoende av din PHP-applikation.

Vanligtvis är det enda du vill schemalägga jobb som skulle påverka din ansökan vad gäller belastning, eller som bara behöver göras en gång, eller där samtidighet eller tid är ett problem.

I ditt fall gäller inget av dessa.

PS:Jag har inte provat PHPscheduler men jag kan gissa att det inte är en riktig schemaläggare. Cron är en deamon som sover tills en given uppgift är klar i sin kö, utför uppgiften och sedan sover tills nästa ska (åtminstone är det vad den gör i den aktuella algoritmen). PHP kan inte göra det utan sockets och gaffelförlängningar, som specialinställning. Så PHPscheduler kontrollerar sannolikt bara om ett datum för en uppgift har löpt ut, vid varje laddning av en webbsida (närhelst PHP kör en sida). Detta är inte annorlunda än att du bara kontrollerar om datumet på projektet har löpt ut, utan omkostnader för PHPScheduler.



  1. Så här fixar du "Server är inte konfigurerad för RPC" Msg 7411 med T-SQL

  2. Operator finns inte:heltal =? när du använder Postgres

  3. Olagligt blandning av sorteringsfel i MySql

  4. Hur ansluter man MySQL Workbench till Amazon RDS?