私は以下のような状況があります。 ジョブのために開かれた苦情が48時間以内に完了しておらず、その苦情が完了せずに48時間に近づいている場合、期限前に(例えば1時間前に)バックエンドにポップアップまたは通知があるはずです。 私はcronジョブ(1時間ごとに実行)を行うことを考えています。私の問題はcronジョブで通知を行う方法です。 ご提案を歓迎いたします。は、cronジョブを使用してPHP Webで通知を表示できます
答えて
cronジョブはページに接続してはいけません。それは逆でなければなりません:バックエンドページ自体を使用してジョブの完了を確認してください。これにはServer-Sent Events(SSE)を使用できます。プロセスは次のようになります。
バックエンドページ(Javascriptが)SSEチャンネルに加入し、PHPスクリプトはPHP job_checker.phpイベント
var source = new EventSource("job_checker.php");
source.onmessage = function(event) {
//event contains the job info and deadline. you can display it
var jobDetails = JSON.parse(event);
...
};
を発したときにポップアップを表示しますジョブの完了をチェックし、設定された時間のためのループを実行することができます。
<?php
$time_limit = 300; //300 seconds
$time_spent = 0;
while($time_spent < $time_limit){
sleep(30); //sleep for 30 seconds
$time_spent += 30;
//check DB for job completion and deadline.
//if you find a job, emit an SSE to the browser
if($event_found){
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
echo "data: ". json_encode($event_found)."\n\n";
flush();
}
}
PHPスクリプトはWORを維持します王に300秒。イベントを検出すると、データを送信し、ブラウザはそれを取得します。 300秒後、スクリプトは終了します。ユーザーがまだ管理ページを開いている場合、ブラウザは自動的に再接続します。ユーザーがページを閉じた場合、リソースは解放されます。
もっとdocs from Mozilla:(リンクのAlokパテルのおかげで)
この方法で考えられる問題は、通知を表示するには、ユーザーがログインする必要があることです。それが48時間制限を過ぎて何かを削除する何らかのタイプの手続きがある場合は、何を推測しますか?誰かが非常に幸せなキャンピングカーではない;-) –
@ Fred-ii-これだけで期限切れの締め切りをすべて捕まえないのは正しいです。私がOPを正しく読んだら、彼はすでに電子メールとSMSのジョブを期限切れにしていますが、管理者がバックページをブラウズしている間はUIポップアップが必要です。そのためには、私は何かが欠落していない限りこれを行うでしょう。 – BeetleJuice
ah ok。さて、OPはあなたのコードを試してください、そして、それが彼らのために働くならば、答えを受け入れます。走らなきゃ! ;-) –
- 1. 通知プログラムにcronジョブを使用するのは正しいですか?
- 2. Firebase通知がPHPを使用して表示されない
- 3. cronを使用してcronジョブでファイルをダウンロード
- 4. cronジョブとphpを使用してSMSを送信する
- 5. cronジョブを使用してPHPファイルを実行する方法
- 6. CRONを使用したジョブ。
- 7. GodDdyでcronジョブを使用してLaravelでタスクスケジュールを実行できません
- 8. どのようにcronジョブPHPを使用しますか?
- 9. CRONジョブなどを使用してLinuxでPHPでジョブをスケジュールする方法は?
- 10. PHP cronジョブとWebブラウザによるアクセス
- 11. PHPとcronジョブ
- 12. 通知を使用して表示されていません。
- 13. LinuxホストでPHPを使用してcronジョブを作成する方法
- 14. cronジョブPHPスクリプトエラー
- 15. javacriptで通知を表示
- 16. php cronジョブはセッション変数/クッキーにアクセスできますか?
- 17. CronジョブとPHPスクリプト
- 18. node-cronを使用したCronジョブはconsole.logでテストされません
- 19. phpmyadminを使用して通知を表示する
- 20. PHP、Codeigniter&Mysqlを使用して管理パネルに通知を表示
- 21. phpでsqlクエリを使用してWebアプリケーションにレポートを表示
- 22. cPanelを使用してCronジョブを使用してコントローラでCodeigniter PHP関数を実行する方法
- 23. Firebase通知を使用してデバイストレイに通知が表示されない
- 24. cronジョブやPHPスケジューラ
- 25. PHPコードを使用してプッシュ通知を送信しますが、iosで通知を送信しません
- 26. Androidの着用で通知を表示
- 27. cronを使用してPHP Webクローラーを作成する
- 28. PHPを使ったCpanelのCronジョブ
- 29. cronジョブでPHPページを読み込む
- 30. PHPでGCMを使用してプッシュ通知を送信する
どのようにあなたの質問 – Machavity
あなたは「通知」によって何を意味するcronジョブのコードを追加することについてはどうですか?それらに電子メールを送信することを意味しますか?ページに何かを表示しますか? –
いいえ、私はすでにメールとSMSを行っています。この場合、私はその仕事のサウンドと情報でバックエンドにポップアップを表示する必要があります。 –