ホームページ php教程 php手册 PHP cron でのバッチ処理

PHP cron でのバッチ処理

Jun 13, 2016 pm 12:26 PM
cron php 貿易 起こる 存在する 大きい バッチ処理

大手チェーン店は大きな問題を抱えている。毎日、あらゆる店舗で何千もの取引が発生します。会社の幹部はこのデータをマイニングしたいと考えています。どの商品がよく売れているのか?何がダメなの?オーガニック製品はどこでよく売れますか?アイスクリームの売れ行きはどうですか?
このデータを取得するには、組織はすべてのトランザクション データを、会社が必要とする種類のレポートの作成に適したデータ モデルに読み込む必要があります。ただし、これには時間がかかり、チェーンが成長するにつれて、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 スクリプトなど) を定期的に起動するために使用できる、同等のスケジュール タスク システムがあります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

2025年のトップ10の仮想通貨アプリ交換世界のトップ10の仮想通貨取引アプリの要約 2025年のトップ10の仮想通貨アプリ交換世界のトップ10の仮想通貨取引アプリの要約 Feb 19, 2025 pm 06:30 PM

2025年の最も信頼できる仮想通貨交換のトップ10は、Binance、Okx、Gate.io、Bitget、Bybit、Kucoin、Crypto.com、Bitmex、Huobi Global、Phemexです。これらの取引所は、さまざまなトレーダーのニーズを満たすために、幅広いトークンサポート、高度な取引ツール、競争力のある料金構造を提供します。ただし、規制の精査、顧客サポートの問題、流動性の違いなど、いくつかの課題にも直面しています。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

使いやすく、正式なデジタル通貨取引アプリに推奨されます 使いやすく、正式なデジタル通貨取引アプリに推奨されます Feb 27, 2025 pm 05:39 PM

主要なデジタル通貨取引アプリのランキング:1。Binance、2。Okx、3。Gate.io、4。Bitget。選択ガイド:1。トランザクション要件を特定します。2。研究プラットフォームの評判、3。料金構造を比較、4。セキュリティ機能を検討、5。カスタマーサポートを評価します。

2025通貨サークルのための必須ソフトウェアの概要 2025通貨サークルのための必須ソフトウェアの概要 Feb 21, 2025 pm 09:42 PM

このガイドは、ユーザーが暗号資産をより効率的に管理および取引するのに役立つ通貨サークル内の必須ソフトウェアツールの概要を提供します。これらのソフトウェアは、トレーディングプラットフォームから分析ツールやセキュリティソリューションまで、幅広いカテゴリをカバーしています。このガイドは、2025年にユーザーが今後のCrypto Marketに備えるのに役立つように設計されています。

通貨Circle_2025のトップ10の交換アプリ 通貨Circle_2025のトップ10の交換アプリ Feb 27, 2025 pm 06:18 PM

ビナンス(大規模なトランザクションボリューム、高度なセキュリティ対策)、OKX(先物やオプションなどのマルチトレード製品の提供)、gate.io(コミュニティ駆動型)、ビットゲット(強力な社会的取引機能)、クコイン(低い取引料、豊富な銀河選択)、huobi(フルトレードサービス)、ポロニエクス(強力な取引)使用済みコンプライアンス)、Gemini(セキュリティ中心の規制された取引環境)。

See all articles