ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでスケジュールされたタスクを実装する方法

PHP_PHP チュートリアルでスケジュールされたタスクを実装する方法

Jul 20, 2016 am 11:17 AM
php タスク 分析する タイミング 成し遂げる バンドル 方法 はい プラン

うちょめのやり方はこうだとうちょめで分析してみました

1. スケジュールされたタスクをすべてデータベースに保存します

2. ユーザーが操作を行ったり、ページを開くたびに、スケジュールされたタスクが順に実行され、時間が経過すると、ユーザープロセスで実行されます。

うーちょめのスケジュールされたタスクのコードは ./source/function_cron.php にあります

上記は、uchome コードでスケジュールされたタスクのおおよその結果の分析にすぎません。誰かが共有する良い方法を持っていることを願っています

ignore_user_abort()

私は少し前にスケジュールされたタスクについて徹底的に研究しました。スケジュールされたタスクには多くのアイデアがあると思いますが、Web に最も適しているのは、DZ や PHPWind と同様のトリガー タイプです。ほとんどの Web アプリケーションも同様であるようです。参考までに、その他にもいくつかお話しましょう

1. 安定したトリガーを提供するには、crontab+wget または ab を使用してスケジュールされたアクセスを提供します

2. nohup + php書き込みデーモン

3. PHP で直接無限ループを記述し、トリガーを提供します。このとき、ループの起動を支援するためにキャッシュまたはデータベースを使用する必要があり、トリガーの頻度を制御するには sleep または usleep を使用する必要があります。

4.crontab+php

5. Web トリガーの方法には違いがあります。1 つは時間トリガー、もう 1 つは定期トリガーです。DZ と PHPWind は両方とも時間トリガーです。

具体的な実装アイデアは簡単に考えられるので詳細は割愛します

ホスト コンピューターがある場合は、crontab を使用してコマンド ライン PHP を実行する必要があります

コードでしか書けないものはない

ループを使用する場合は、ループを特定の処理プログラムから分離するのが最善です。そうしないと、メモリが増加し続けます。

今日、PHP マニュアルでこの関数 -ignore_user_abort を発見しました。この関数は、Linux での cron のようなスケジュールされたタスクの実装に役立ちます。実装方法を見てみましょう。

まずはPHPのマニュアルでこの関数の説明を見てみましょう

説明

intignore_user_abort ([ bool $setting ] )

クライアントの切断によりスクリプトが中止されるかどうかを設定します。

つまり、クライアントがブラウザを閉じるかどうかに関係なく、以下のプログラムが実行されます。

パラメータを見てみましょう

パラメータ

設定

設定されていない場合、関数は現在の設定のみを返します。

この関数は、ignore_user_abort 関数を有効にするかどうかを決定するパラメーターを受け取ります。

戻り値を見てください:

戻り値

前の設定をブール値として返します。

ここでは前の設定が返されると書かれていますが、テストしたところ、このステートメントは明らかに int 型ではありません。信じられない場合は、php ファイルを書き込むことができます。試して。

ここまで述べましたが、PHP でこの関数を使用してスケジュールされたタスクを実装するにはどうすればよいでしょうか? 別の関数 (set_time_limit0) を使用することもできます。これにより、プログラムの実行時間を無制限に設定できます。 PHP のデフォルトの実行時間は 30 秒です。set_time_limit(0) を使用すると、プログラムを無制限に実行できます。プログラムが実行される前に、ignore_user_abort(1) と set_time_limit(0) を追加するだけです。 例を示します。

コードは以下のように表示されます: ​ ​

http://www.bkjia.com/PHPjc/372013.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/372013.html技術記事 udome で分析したところ、udome が行うことは 1. スケジュールされたすべてのタスクをデータベースに保存する 2. ユーザーが操作を実行するか、ページを開くたびに、スケジュールされたタスクが順番に実行されます...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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 は、

See all articles