検索

ホームページ  >  に質問  >  本文

mysql - PHP でスケジュールされたタスク。操作の実行後、2 時間経過してからユーザーにテキスト メッセージを送信します。

要件は、ユーザーが操作を実行した後、2 時間カウントダウンし、その時点で別の操作を実行することです。

しかし、今ではこの 2 時間を計る方法がありません。

何か良いアイデアはありますか

ringa_leeringa_lee2822日前775

全員に返信(9)返信します

  • 巴扎黑

    巴扎黑2017-05-16 13:06:54

    私のアイデアは、キューを介したタスクの配布を遅らせることです。つまり、2 時間後にタスクをトリガーし、タスク内でテキスト メッセージを送信します。
    以下はドキュメントのリンクです:

    • 遅延配信のキュー

    • SMS通知

    返事
    0
  • PHPz

    PHPz2017-05-16 13:06:54

    ユーザーの携帯電話番号、テキストメッセージの内容、送信時刻を保存するテーブルを作成します。
    ユーザーはワンクリックで新しいレコード行を追加できます。
    スケジュールされたタスクを設定し、毎分確認し、時間が来たら送信し、送信後に記録を削除します

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:06:54

    実行するタスク名と実行時間をredisオーダードセットに入れて定期的にredisオーダードセットのスコアを確認し、範囲内であれば実行タスクを取り出す

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:06:54

    ユーザーが操作すると、操作時間をテーブルに確実に保存し、デーモンは 2 時間以内にテキスト メッセージを送信するまでクエリを続けます

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:06:54

    これにはタイマーとメッセージキューが必要です。 。 。

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:06:54

    Linux は crontab を使用し、ウィンドウのようなインターフェイス システムには独自のカスタマイズされたタスクがあります。スケジュールされたタスクのcurlを使用してphpファイルを指定するか、phpを使用してphpファイルを実行します。この場合、1分ごとのスケジュールアクセス(ポーリングと同様)を行うことで、PHPファイルにアクセスする際に、格納されているデータテーブルのデータ(条件付き2時間分のデータ)を読み込んで、キューにデータを投入する必要があります(回避のため)データ量が多すぎる場合、大量の情報を送信するとサーバーリソースの過剰な使用につながります)、最後にキューから定量的なデータを抽出してデータを送信します

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:06:54

    crontabを使用してデータベースのタスクキューを実行します

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:06:54

    Workerman や Swoole などの PHP 非同期フレームワークを使用して、タイマーを作成し、必要なときにタスクを実行できます。 ! !

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:06:54

    トリガーされる時間とイベントを保存します。スクリプトは毎分データを実行し、時間になったら実行します。これが最も簡単です

    返事
    0
  • キャンセル返事