Linux crontabのスケジュールされたタスクを処理する方法
Linux crontab のスケジュールされたタスクに関連
次に、テキスト メッセージを送信するスケジュールされたタスクを実行したいと思います。
最小の crontab は数分でしか設定できず、テキスト メッセージはより速く送信する必要があるためです。 1 分間に 60 メッセージを送信させてみました。
データベース キュー テーブルからロックされていないアイテムを 60 個検索します。ループ処理中にフィールドが更新されるたびに、フィールドがロックされていることを意味します。一般に、テキスト メッセージの量は非常に少なく、すべて 1 分以内に実行されます。今日は突然大量のリクエストが発生し、1 分間に 60 個の未処理アイテムが処理され、crontab が次のリクエストを発行しました。一つずつ処理した後にロックがかかるため、同時実行性が発生します。 (このリクエストで処理されなかったテキスト メッセージの一部は、次のリクエストに含まれます)。その結果、テキスト メッセージが繰り返し送信されます。
これはずっと改善したいと思っていました。なぜなら、量がいつも比較的少なく、よく考えていなかったからです。
見つかった 60 個のアイテムを発行する前にすべてロックできるはずです。しかし、いつロックを解除するかが問題です。
サードパーティのキュー サービスを使用する:
テキスト メッセージをデータベースに保存する場合は、自動インクリメントされる ID を memcacheq に保存し、定期的に実行します。 (時間指定実行は機能しないようです。1 分に 1 回では遅すぎます。PHP を使用してデーモンとして無限ループを作成しますか? (休止時間を設定できます) 常に実行するとメモリを消費しますか?)
ウェブサイトについて知りたいのですが、普段どのようにテキスト メッセージを送信していますか?デーモンなしでは即座に送信することは不可能です。 。 。
-----解決策--------------------------------
何かトラブルを起こしているようですが?
シェル スクリプトを作成し、curl を使用して 1 秒に 1 回リクエストできます (リクエストが終了するまで待つことはできません。または、実行が完了するまで待ってから 1 秒待ってから次のリクエストを送信することもできます) )、ステップ サイズ(毎回送信される最大数)を設定し、毎回ステップ サイズと同じ数のテキスト メッセージを取得し、最初にロックしてから、次のリクエストが実行される場合でも、1 つずつ送信します。送信が完了していない場合、この部分は繰り返し送信されません。
------解決策------------------
ここではすべてを行うために JAVA を使用します。あなたが言ったように、デーモンプロセスを使用する必要があります。
Python も使用でき、
php をスクリプトとして作成することもできます。始める。
------解決策------------------contab は定期的に php プログラムを呼び出してテキスト メッセージを送信します

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

GolangisidealforBuildingsCalables Systemsduetoitsefficiency andConcurrency、Whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityand vastecosystem.golang'ssignencouragesclean、readisinediteNeditinesinedinediseNabletinedinedinedisedisedioncourase

Laravelは、チームがPHPに精通しており、豊富な機能を必要とするプロジェクトに適していますが、Python Frameworksはプロジェクトの要件に依存します。 1.Laravelは、迅速な開発と柔軟性を必要とするプロジェクトに適したエレガントな構文とリッチな機能を提供します。 2。Djangoは、「バッテリー包含」の概念のため、複雑なアプリケーションに適しています。 3.Flaskは、高速プロトタイプや小規模プロジェクトに適しており、柔軟性が非常に高くなります。

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。
