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

planlæg automatisk en php-scriptudførelse på et bestemt tidspunkt

Du har 3 muligheder. Min anbefaling:Brug cron, hvis du kan, brugerdrevet, hvis du skal, og dæmon som sidste udvej.

(1) cron (som nævnt i kommentarer)

cron er en skemalægger til linux-systemer, der vil køre et kommandolinjejob på dit system. Du logger ind på din server over ssh, skriv crontab -e , og tilføj en linje som denne:

4 5 * * * php /path/to/my/script.php

Dette ville køre scriptet kl. 5:04 hver dag.

<?php
// /path/to/my/script.php

// Do something

Nogle hostingtjenester tillader indtastning af cron-job med en GUI. Der er også eksterne cron-tjenester, der kalder en URL til dig på bestemte tidspunkter.

(2) dæmon

Dette er den mest avancerede mulighed og også den mindst pålidelige:Du kører et kommandolinjescript, der indeholder en uendelig løkke. Scriptet kontrollerer derefter periodisk tilstand og reagerer på det. Fordi det sandsynligvis går ned efter måneders drift, skal du have et andet script for at genstarte det, hvis det gør det. Dette er meget arbejde, men det er den mest fleksible tilgang.

<?php



while (1) {   

  // fetch $last_exec_timestamp from database

  if ($last_exec_timestamp < time() + 86400) {
    // set last_exec_timestamp to now in database

    // do something
  }
  sleep(5);

}

3. brugerdrevet

Hvis du har en anstændig mængde trafik på dit websted, kan du blot inkludere en opgave dette i din sidefod, når der ikke er mere output. Sørg for, at denne kode er hurtig, ellers venter en uheldig bruger på den.

<?php

// fetch $last_exec_timestamp from database

if ($last_exec_timestamp < time() + 86400) {
  // set last_exec_timestamp to now in database
  // do something
}

Der er også mere fancy tilgange til "brugerdrevet", som jeg ikke personligt har testet i et andet stak-overløb spørgsmål .



  1. MySQL Connector/NET Output Parameter Returnerer NULL

  2. Hjælp mig med at sætte Oracle-terminologi ind i SQL Server-terminologi

  3. SQL Server:beregner datointervaller

  4. Sådan eksporteres Oracle-forespørgselsresultater til en JSON-fil, når du bruger SQLcl