スケジュールされた時間にタスクを実行するには、サーバー側で何らかのプロセスが必要です。
一般的なアプローチは、タスク情報を何らかのデータベースに保存し、cron ジョブでタスク キューを時々チェックすることです。これは非常に信頼性が高く安全です。
展開される環境に関する詳細情報がなければ、より良い答えを出すことはできません。例えば:
- 対象OS
- ホスティングの種類 (専用、共有、クラウド)
- あなたは管理者権限を持っていますか?
- インターネットに公開されていますか?
とにかく、共有ホスティング環境ではそれができない可能性が高いですが、shell_exec を呼び出す Web サイトを持つことは、セキュリティの観点からはあまり賢明ではないと言わざるを得ないため、サイトがインターネットに公開されている場合は避けます。 .
優れたホスティング プロバイダーは、crontab でなくても、何らかのバックグラウンド タスク スケジューラを利用できるようにする必要があります。ホスティングプロバイダーがそうしていない場合、ギャップを埋めるためにスタントを引っ張ろうとするのはおそらく悪い考えです.
[アップデート]
元の投稿の編集部分で述べたように、goaddy.com でホストしていますが、クライアントにこれらのコマンド ラインなどを実行させることはできません。他の言語でも解決策はありますか?
私はもう Godaddy でホストしていませんが、彼らはコントロール パネルに "Cron Manager" を持っていました。正しい goDaddy cron セットアップは
/usr/bin/wget -O - -q "http://yoursite.com/cron.php" > /dev/null 2>&1
Cron Manager のコマンド オプションで。この「cron.php」は、送信する電子メールがあるかどうかを確認するためにタスク キューをチェックします (タスク キューは、顧客がスケジュールしたタスクを記録するデータベース内の単純なテーブルです)。