大手チェーン店は大きな問題を抱えている。毎日、あらゆる店舗で何千もの取引が発生します。会社の幹部はこのデータをマイニングしたいと考えています。どの商品がよく売れているのか?何がダメなの?オーガニック製品はどこでよく売れますか?アイスクリームの売れ行きはどうですか?
このデータを取得するには、組織はすべてのトランザクション データを、会社が必要とする種類のレポートの作成に適したデータ モデルに読み込む必要があります。ただし、これには時間がかかり、チェーンが成長するにつれて、1 日分のデータを処理するのに 1 日以上かかる場合があります。したがって、これは大きな問題です。
Web アプリケーションではこれほど大量のデータを処理する必要はないかもしれませんが、どのサイトでも処理に顧客が期待する以上に時間がかかる可能性があります。一般に、顧客が許容できる待ち時間は 200 ミリ秒です。この時間を超えると、顧客はプロセスが「遅い」と感じます。この数字はデスクトップ アプリケーションに基づいていますが、Web ではより忍耐強くなります。しかし、何があっても、顧客を数秒以上待たせてはいけません。したがって、PHP でバッチ ジョブを処理するためにいくつかの戦略を採用してください。
cron を使用した分散型の方法
UNIX® マシンでは、バッチ処理を実行するコア プログラムは cron デーモンです。デーモンは、どのコマンド ラインをどのくらいの頻度で実行するかを指示する構成ファイルを読み取ります。その後、デーモンは設定に従ってそれらを実行します。エラーが発生した場合、問題のデバッグに役立つように、指定された電子メール アドレスにエラー出力を送信することもできます。
私はスレッド技術の使用を強く主張するエンジニアを何人か知っています。 「スレッドです! スレッドはバックグラウンド処理を行うための本当の方法です。cron デーモンはとても時代遅れです。」
そうは思いません。
私は両方の方法を使用しましたが、cron には「Keep It Simple, Stupid (KISS、シンプルは美しい)」原則の利点があると思います。バックグラウンド処理をシンプルに保ちます。常に実行される (メモリ リークがないように) マルチスレッドのジョブ処理アプリケーションを作成する代わりに、cron は単純なバッチ スクリプトを開始します。このスクリプトは、処理するジョブがあるかどうかを判断し、ジョブを実行して終了します。メモリリークを心配する必要はありません。また、スレッドが停止したり、無限ループに陥ったりすることを心配する必要もありません。
では、cron はどのように機能するのでしょうか?これはシステム環境によって異なります。ここでは古い単純な cron の UNIX コマンド ライン バージョンについてのみ説明します。これを独自の Web アプリケーションに実装する方法をシステム管理者に問い合わせてください。
これは、毎晩午後 11 時に PHP スクリプトを実行する単純な cron 構成です。
0 23 * * * ジャック /usr/bin/php /users/home/jack/myscript.php
最初の 5 つのフィールドは、スクリプトをいつ開始するかを定義します。次に、このスクリプトの実行に使用するユーザー名を指定します。残りのコマンドは、実行されるコマンド ラインです。時間フィールドは、分、時間、日、月、曜日です。以下にいくつかの例を示します。
コマンド:
15 * * * * jack /usr/bin/php /users/home/jack/myscript.php
毎時 15 分にスクリプトを実行します。
コマンド:
15,45 * * * * jack /usr/bin/php /users/home/jack/myscript.php
毎時 15 分と 45 分にスクリプトを実行します。
コマンド:
*/1 3-23 * * * jack /usr/bin/php /users/home/jack/myscript.php
午前 3 時から午後 11 時までの間、毎分スクリプトを実行します。
コマンド
30 23 * * 6 ジャック /usr/bin/php /users/home/jack/myscript.php
毎週土曜日の午後 11 時 30 分にスクリプトを実行します (土曜日は 6 で指定します)。
ご覧のとおり、組み合わせの数は無制限です。必要に応じて、スクリプトをいつ実行するかを制御できます。実行する複数のスクリプトを指定して、一部のスクリプトを毎分実行し、他のスクリプト (バックアップ スクリプトなど) を 1 日に 1 回だけ実行することもできます。
報告されたエラーの送信先の電子メール アドレスを指定するには、次のように MAILTO ディレクティブを使用できます。
MAILTO=jherr@pobox.com
注: Microsoft® Windows® ユーザーの場合は、コマンド ライン プロセス (PHP スクリプトなど) を定期的に起動するために使用できる、同等のスケジュール タスク システムがあります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
