問題タブ [task-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - GoogleAppEngineのタスクキューのサンプル
現在、タスクキューを操作しようとしています。しかし、私はこの問題に関する完全なサンプルを見ていません。
では、Pythonで記述されたGoogleAppEngineのタスクキューのサンプルを教えてください。
web-applications - Webアプリケーションアーキテクチャ-ジョブ/タスクキューが必要ですか?
私は現在、ユーザーがHTTP APIに対して(ユーザーに代わって)実行されるタスクをスケジュールできるようにするWebアプリケーションを設計しています。タスクは繰り返し発生する可能性があり、スケジューリングに使用できる最小の時間分解能は1分になります。タスクの性質上、非同期で実行するのは理にかなっていると思います。しかし、この部分のアーキテクチャはどのように見えるべきですか?
タスクキューを使用してWebアプリケーションでタスクを作成し、それらをワーカーで実行できるようにすることを考えました。この場合、いくつか質問があります。
- 定期的なタスクを処理するにはどうすればよいですか?
- タスクの結果を簡単に保存するにはどうすればよいですか?
- キューを「永続的」にすることは簡単に可能ですか?
- ワーカーはデータベースと直接対話する必要がありますか?
- 定期的なタスクを手動でキューに入れる必要がありますか?
他に何を考えられますか?この種のWebアプリケーションアーキテクチャについて考えているのは私だけではないと思いますが、「ベストプラクティス」はありますか?タスクキューは進むべき道ですか?
objective-c - ココアを使用したリアルタイムの非同期タスク
私は SOAP クライアントを作成していますが、時間ベースの優先度の高い操作を行う必要があります。たとえば、200 ミリ秒ごとに呼び出し x を処理し、2 秒ごとに呼び出し y を処理し、偶然呼び出し z を処理する必要があります。最大の優先度を持っています...しかし、別の問題があります.1秒あたりn回の呼び出ししかできず、他の呼び出しをキューに入れます..
SOAP を消費するすべてのプロセス、ユーザー インターフェイスを書きましたが、ディスパッチャーに問題があります。このためのマルチスレッド環境?
django - GAE タスク キューの URL を適切に保護する (app.yaml を使用しない)
タスク キューの URL を悪意のあるアクセスから保護したいと考えています。
タスク キューが要求するビューでは、次のようなものがあります。
しかし、私のタスク キューは 403 エラーを受け取ります! この GAE ドキュメントから、Task Queue ユーザーは管理者であることが保証されているという印象を受けました。何を与える?
注:私は DjangoNonRel を使用しているため、管理者のみの URL アクセスを myapp.yaml
で指定することはできません。ビューでプログラムで行う必要があります。
google-app-engine - タスクキュー使用時のエラー
私はグーグルアプリエンジンを持っています。メールを送信するためにタスクキューにタスクを追加すると。このエラーがあります:
URLにはユーザーログインが必要なため、リクエストは失敗しました。App Engine内で呼び出されるリクエスト(タスクキューなどのオフラインリクエスト、またはXMPPや受信メールなどのWebhook)の場合、URLには管理者ログイン(またはログインなし)が必要です。
私の命令は
taskqueue.add(url ='/ mypage / operation / task'、params = {'key':operation.key()}
私がそれを修正するのを手伝ってください。
ありがとう。
c# - ファイルがロックされたときに後でファイル操作をキューに入れる
ファイルベースの自動インクリメント ID 値 ( int
TXT ファイルに格納された値) を実装しようとしています。同時実行の問題を処理する最善の方法を考え出そうとしています。この ID は、コンテンツの一意の ID として使用されます。新しいコンテンツを保存すると、このファイルが開かれ、値が読み取られ、インクリメントされ、新しいコンテンツが保存され、インクリメントされた値がファイルに書き戻されます (次に使用可能な ID を保存するか、最後に発行された ID を保存するかは問題ではありません)。これが行われている間に、別のプロセスが発生し、新しいコンテンツを保存しようとする場合があります。前のプロセスは でファイルを開くFileShare.None
ため、最初のプロセスによってファイルが解放されるまで、他のプロセスはファイルを読み取ることができません。これが発生する可能性は最小限に抑えられていますが、それでも発生する可能性があります。
これが発生した場合、次の 2 つのオプションがあります。
- ファイルが利用可能になるのを待ちます -
ファイルがロックされているときに C# で File.Open の待機をエミュレートする
ここではミリ秒について話しているので、何か奇妙なことが起こってファイルが利用可能にならない限り、これは問題にならないと思います。この解決策は無限ループになるため、理想的な解決策ではありません
- ある種のキューを実装し、キュー内のファイルに対してすべての操作を実行します。私のユーザー エクスペリエンス要件は、ファイルの保存/変更時に、例外や何か問題が発生したことをユーザーに通知してはならないというものです。後で操作がキューで失敗したときに、非常に使いやすいユーザー インターフェイスを介してユーザーに通知されます。
これを書いている時点では、ソリューションは ASP.NET MVC アプリケーション内で (AJAX を介した同期および非同期の両方で) 機能するはずですが、可能であれば、Silverlight、Windows フォーム、または WPF アプリケーションでも機能する概念を使用する必要があります。
これらの 2 つのオプションに関して、どちらが優れていると思いますか?また、2 番目のオプションの場合、これを実装するためにどのような技術が考えられますか?
java - AppEngineでappengine-mapreduceを調整するにはどうすればよいですか?
http://code.google.com/p/appengine-mapreduce/には、実行速度を制御できると記載されていますが、その方法がわかりません。マッパージョブのタスクキューを作成し、そこから速度を制御することは理にかなっていますが、使用するキューを指定する方法がわかりません。
php - PHP での並列処理 - どのように行うのですか?
現在、php でジョブ キューを実装しようとしています。その後、キューはバッチ ジョブとして処理され、いくつかのジョブを並行して処理できるようになります。
私はすでにいくつかの調査を行い、それを実装するいくつかの方法を見つけましたが、それらの長所と短所を実際には認識していません.
fsockopen
たとえば、ここで説明されているように、スクリプトを数回呼び出して並列処理を行う:
PHP での簡単な並列処理
私が見つけた別の方法は、curl_multi
関数を使用することでした。
curl_multi_exec PHP ドキュメント
しかし、これらの 2 つの方法は、主にバックグラウンドで実行する必要があるキューでバッチ処理を作成するためにかなりのオーバーヘッドを追加すると思いますか?
pcntl_fork
また、問題を処理する方法と思われるものについても読みました。しかし、自分が何をしているのかを本当に理解していないと、非常に厄介になる可能性があるようです (現時点での私のように)。
も見ましたGearman
が、必要に応じてワーカー スレッドを動的に生成する必要があり、いくつかを実行して Gearman ジョブ サーバーにそれをフリー ワーカーに送信させるだけではありませんでした。特に、最終的なメモリ リークが発生しないように、1 つのジョブが実行された後にスレッドを正常に終了する必要があるためです (コードはその問題で完全ではない可能性があります)。
Gearman はじめに
私の質問は、PHP で並列処理をどのように処理するのですか? そして、なぜあなたの方法を選択するのですか?異なる方法にはどのような利点/欠点がありますか?
python - GAEでのバルクメールの制限
私は投票アプリに取り組んでおり、各有権者に選挙について知らせるためにメールを送信する必要があります。これを行うには3つの方法がありますが、各方法で送信できる電子メールの数のおおよその制限について知りたいです。
ユーザーリクエストで、各タスクが1つのメールを送信するタスクキューにタスクを追加します。ここでの制限は、30秒間にキューに入れることができるタスクの数です。これを確実に見積もる方法はありますか?
ユーザーリクエストで、1つのタスクをタスクキューに追加します。この1つのタスクが2番目のタスクキューにタスクを追加し、2番目のキューの各タスクが1つの電子メールを送信します。ここでの制限は10分ですが、方法1の20倍の数のメールを送信できると合理的に見積もることができますか?
時間制限のないバックエンドを使用して、おそらく必要な数の電子メールを送信できるようにします。
方法1または2で十分な数の電子メールを送信できる場合は、バックエンドを使用するという余分な複雑さを回避するために、それらに固執することをお勧めします。重要な場合は、PythonAPIを使用しています。
redis - 「キューイング」のチュートリアルとドキュメント?
「キューイング」の概要を説明している記事や参考文献を探しています (ここでは適切な用語を使用していない可能性があります)。Redis、RabbitMQ、Celery、Kombu、およびまだ読んでいない他のコンポーネントの世界と、それらがどのように適合するかについての入門的なスタイルのガイドを期待しています。
私の問題は、Django Web サイトが発行するバックグラウンド タスクをキューに入れる必要があることです。私が読んだすべてのブログや記事では、さまざまな解決策が推奨されています。