問題タブ [pipeline]
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.
ftp - Pipeling 圧縮と ftp 転送
LZMA sdk を使用してファイル (またはファイルのセット) を圧縮し、そのファイルを ftp サーバーに送信するユーティリティを作成しています。通常、圧縮の速度は ftp 接続の速度よりも高速です。私がやりたいのは、ファイルを圧縮する代わりに、ファイルが完了するのを待ってから、一時ファイルまたはストリームに圧縮したいアップロードを開始し、圧縮中に完成した部分をアップロードすることです。
今の問題はどのようにですか?
私が抱えている懸念の 1 つは、使用するファイルを圧縮すると 1 GB を超える可能性があり、これを実行するシステムには 512 MB から 2 GB の RAM があるため、圧縮側がメモリに暴走させたくないということです。システムをロックします。私が考えている方法は、スレッドで圧縮を実行し、メモリ ストリームで 5 ~ 10Mb をキューに入れ、その情報を別のスレッドで ftp に送信することです。これは良いアプローチですか、それとももっと良い方法がありますか? ファイルが完了したときにファイルの先頭にあるファイルヘッダーを書き換える必要があるなどの落とし穴はありますか?
これは c# で書く予定ですが、c、c++、または Java のコード例でも問題ありません。
ご協力ありがとうございました。
f# - F# の行に別のパラメーターをパイプする
パラメータをラインにパイプすることは、1 つのパラメータを受け入れる関数に対してのみ機能しますか? Chris Smiths のページの例を見ると、
彼の filesUnderFolder 関数は rootFolder パラメーターのみを予期していましたが、関数が 2 つのパラメーターを予期していた場合、つまり
let filesUnderFolder size rootFolder
次に、これは機能しません:
定義できるので
let inline (>>) f g x y = g(f x y)
、複数の入力パラメーターを持つ関数でパイプライン演算子を使用できるはずですよね?私は何が欠けていますか?
f# - F# の行にリストをパイプする
これで、単一の値またはチューブルをパイプラインに追加できるようになりました。次の質問は、リスト/配列を追加できるかどうかです。
私の問題は、パイプライン |> でこれを処理できないことです。
asp.net - IIS7統合パイプラインとクラシックパイプライン-どちらがより多くのASP.NETスレッドを使用しますか?
統合パイプラインを使用すると、画像やCSSを含むすべての要求がASP.NETを介して渡されます。
一方、従来のパイプラインでは、ASPXページの要求のみがデフォルトでASP.NETを介して渡されます。
統合パイプラインはスレッドの使用に悪影響を与える可能性がありますか?
IISサーバーに500MBのバイナリファイルを要求するとします。
- 統合パイプラインでは、ASP.NETワーカースレッドがバイナリダウンロードに使用されます(右?)。
- 従来のパイプラインでは、要求はIISによって直接処理されるため、ASP.NETスレッドは使用されません。
私にとって、これは従来のパイプラインを支持します。ASPXページを提供するためにできるだけ多くのスレッドが必要だからです。
私はここで完全に基地から離れていますか?
python - Ruffus パイプラインで関数を実行する前に一連のファイルを作成する必要がある
私は ruffus を使ってパイプラインを書いています。並行して何度も呼び出される関数があり、複数のファイルが作成されます。これらすべてのファイルが作成された後に呼び出される関数「combineFiles()」を作成したいと思います。これらはクラスター上で並行して実行されるため、すべてが同時に終了するわけではありません。作成する必要がある一連のファイル名を返す関数 'getFilenames()' を作成しましたが、結合ファイルが存在するまで待機させるにはどうすればよいですか?
私は次のことを試しました:
デコレータも試しました:
しかし、これも機能しません。getFilenames によって指定されたファイルが作成される前に、combineFiles は依然として誤って呼び出されます。それらのファイルがそこにあることを条件として、結合ファイルを作成するにはどうすればよいですか?
ありがとう。
sql-server-2005 - SqlServerPipelineHostおよびSqlServer.DtsMsgでの.Netインストールの問題
Webサービスコンシューマーをvb2005Windowsアプリに追加し、以前のバージョンが既にインストールされている別のコンピューターにインストールしようとしました(ClickOnce展開)。GACにMicrosoft.SqlServer.PipelineHostをインストールする必要があるというエラーが発生しました。参照のリストにPipelineHostを追加し、Copy Local = trueとマークし、ソリューションを再構築して公開し、他のコンピューターにインストールしようとしました。
今回は、Microsoft.SqlServerをインストールする必要があるとのことでした。ただし、 DtsMsgは、そのコンポーネントが.Netコンポーネントのリストに表示されません。
ここからどこへ行くの?
ありがとうございました。
workflow - ディストリビューターを使用した NServiceBus パイプライン
NServiceBus を使用して処理パイプラインを構築していますが、プロセスの各ステップをスケーラブルにするためにディストリビューターの構成に問題があります。ここにいくつかの情報があります:
- パイプラインには、WorkItem の「OK、開始時間です」というマスター プロセスがあり、フローチャートのようなプロセスが開始されます。
- フローチャートの各ステップは計算コストがかかる可能性があるため、各ステップをスケールアウトできる機能が必要です。これは、各ステップに Distributor が必要であることを示しています。
- 後で追加のアクティビティをイベントにフックできるようにしたいと考えています。これは、Send() ではなく、完了時にメッセージを Publish() する必要があることを示しています。
- プロセスは、条件に基づいて分岐する必要がある場合があります。これは、プロセスが複数の種類のメッセージを発行できる必要があることを示しています。
- プロセスがフォークに参加する必要がある場合があります。これにはSagasを使用する必要があると思います。
これらの仮定が適切であることを願っています。
簡単にするために、分岐や結合については忘れて、ステップ A の後にステップ B が続き、ステップ C で終わる単純なパイプラインを考えてみましょう。各ステップは独自のディストリビューターを取得し、メッセージを処理する多くのノードを持つことができます。
- NodeA ワーカーには IHandleMessages プロセッサが含まれており、EventA を発行します
- NodeB ワーカーには IHandleMessages プロセッサが含まれており、イベント B を発行します
- NodeC ワーカーには IHandleMessages プロセッサが含まれており、パイプラインは完了しています。
構成ファイルの関連部分を次に示します。# はワーカーの番号を示します (つまり、入力キュー NodeA.1 と NodeA.2 があります)。
そして、ディストリビューター構成の関連部分は次のとおりです。
各ノードの 2 つのインスタンスを使用してテストしていますが、ノード B の途中で問題が発生しているようです。基本的に次の 2 つのことが発生する可能性があります。
- ノード B の両方のインスタンスは、それが EventA をサブスクライブしていること、および NodeC.Distrib.Data@MYCOMPUTER がノード B がパブリッシュする EventB をサブスクライブしていることを報告します。この場合、すべてがうまく機能します。
- ノード B の両方のインスタンスは、EventA をサブスクライブしていると報告しますが、一方のワーカーは NodeC.Distrib.Data@MYCOMPUTER が 2 回サブスクライブしていると言い、もう一方のワーカーはそれについて言及しません。
ディストリビューターがサブスクリプション メッセージをルーティングする方法によってのみ制御されるように見える 2 番目のケースでは、「オーバーアチーバー」ノードが EventA を処理する場合、すべてがうまくいきます。「未達成者」が EventA を処理すると、EventB のパブリッシュにはサブスクライバーがなく、ワークフローは停止します。
だから、私の質問:
- このような設定は可能ですか?
- 構成は正しいですか? 単純な 1 レベルのパブリッシャー/2 ワーカーのセットアップを超えて、ディストリビューターを使用した構成の例を見つけるのは困難です。
- 計算集約型ではないすべてのトラフィック監視操作を実行し、タスクが長時間実行され、負荷分散が必要な場合にのみ、ディストリビューターの背後にあるプロセスにメッセージを送信する 1 つの中央ブローカー プロセスを持つ方が理にかなっていますか?
- そうすれば、負荷分散されたノードは単純に中央ブローカーに返信することができます。これは簡単に思えます。
- 一方で、それはNServiceBusの強みである分散化とは相反するように思えます。
- そして、これが答えであり、長期実行プロセスの完了イベントが応答である場合、発行されたイベントで後で拡張できるようにする発行をどのように保持しますか?
java - Web アプリが Tomcat で実行される前に実行されるモジュール/フィルターを作成できますか?
Web アプリケーションが実行される前に、Tomcat の処理パイプラインに入れられるモジュール/フィルターを作成できますか?
Tomcat が処理している Web アプリケーションごとにオン/オフできるもの。
これは可能ですか?
したがって、基本的には、リクエストの動作を変更したり、リクエストを実行/変更したりできる Web パイプラインにフックする再利用可能なフィルターになります。一例として、すべての IP をログに記録する、URL に基づいてリダイレクトする、リクエストをブロックするなどがあります。
linux - Perl を使用して Unix/Linux 環境でファイルをダウンロードして処理するためのパイプライン
ダウンロードしたいファイル URL のリストがあります。
私がやりたいことは、各ファイルに対して次のことです。
wget
および と並行して foo1,2.. をダウンロードしますnohup
。- ダウンロードが完了するたびに、それらを次のように処理します
myscript.sh
私が持っているのはこれです:
問題は、ファイルのダウンロードがいつ終了するかを上記のパイプラインに伝えることができないことです。そのため、myscript.sh が正しく実行されません。
これを達成する正しい方法は何ですか?
cpu-architecture - Fetch-Execute サイクルのどこで、デコードされたアドレス モード経由の値です。
私は現在、レジスタ遅延やディスプレースメントなど、いくつかのアドレッシング モードをサポートする小さな CPU インタープリターを構築しています。これは、従来の IF-ID-EX-MEM-WB RISC パイプラインを利用しています。デコードされたアドレス モード オペランドの値がパイプラインのどの段階であるか。例えば:
addw r9, (r2), 8(r3)
(r2) と 8(r3) が実際の値にデコードされるのはどの段階ですか?