問題タブ [backgroundworker]
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.
c# - Backgroundworkerは進捗状況を報告しません
長いデータベースタスクを実行しているバックグラウンドワーカーがいます。タスクの実行中に進行状況バーを表示したい。どういうわけか、バックグラウンドワーカーはタスクの進行状況を報告しません。
これは私が持っているものです:
私はこれをWPFで行っていますが、違いはないと思います。
前もって感謝します
c# - C# バックグラウンド ワーカーの設定 e.Result を DoWork に設定し、値を WorkCompleted に戻す
C# 2008 SP1
バックグラウンドワーカーを使用しています
条件の 1 つが失敗した場合、e.cancel を true に設定し、文字列を e.result に割り当てます。すべてがそこで機能します。
ただし、workCompleted が起動すると、e.Result をテストすると、「e.result は systeminvalidoperation 型の例外をスローします」という例外が発生します。
グローバル変数を使用して DoWork に設定し、完了した作業を比較できると思います。しかし、これはスレッドセーフではないかもしれません。
e.Resultでこれを取得する理由と、これを解決するにはどうすればよいですか?
どうもありがとう、
c# - BackgroundWorkerを使用してC#で不透明度アニメーションを作成する
BackgroundWorkerの助けを借りて、あるフォームの不透明度アニメーションを作成しました。
このアプローチには小さな問題が1つだけありますが、どこに問題があるのか理解できません。アニメーションの速度は構成可能であり、速度の値が非常に高い場合でも、奇妙な理由でアニメーションが非常に遅い場合があります...
私が話している「遅いアニメーション」は、途切れることはなく、アニメーションは実際には非常にスムーズで、アニメーション全体を実行するのに時間がかかるだけです(0%から100%、またはその逆)。これは時々起こるだけです。コンピュータが他のやや集中的なバックグラウンドアクションを実行しているときに発生するようです(確かではありません)。
もちろんそれを修正する必要がありますが、とにかくこのコードを改善するかどうか、または別の方法やより良い方法でそれを行うかどうかも知りたいです。
これが私のコードです:
.net - 長時間実行されているデータベース操作をキャンセルする方法は?
現在 Oracle と連携していますが、MS SQL のソリューションも必要になります。
ユーザーがデータベースで実行される SQL を生成できるようにする GUI があります。生成される検索によっては、これには非常に長い時間がかかる場合があります。この検索中に GUI/アプリを応答させ、ユーザーが検索をキャンセルできるようにしたい。
バックグラウンド ワーカー スレッドを使用しています。
私の問題は、ユーザーが検索をキャンセルしたときに、データベースへの呼び出しを中断できないことです。完了するまで待機してから、「CancelationPending」プロパティをポーリングできます。これはデータベースのリソースを浪費するだけでなく、コードに問題を引き起こします。
ユーザーが非常に長いクエリで [検索] をクリックし、[キャンセル] をクリックしてからもう一度 [検索] をクリックした場合、最初の検索はまだデータベースで処理されています。バックグラウンド ワーカーは、検索を再度実行してもまだビジー状態です。この問題に対する唯一の解決策は、新しいバックグラウンド ワーカーを作成することです。
それは物事を行うための本当に醜い方法のようです。データベースは動作し続けます バックグラウンドワーカーの新しいインスタンスを作成しています....データベース呼び出しを本当に停止して同じワーカーを再利用したいとき。
どうやってやるの?
ruby-on-rails - ここで Amazon SQS は正しい選択ですか? Rails のパフォーマンスの問題
一般的なネットワーク機能 (メッセージング、ウォールなど) を備えた Rails アプリのリリースが近づいています。要求/応答サイクルからタスクをオフロードするために、ある種のバックグラウンド処理 (おそらく Bj) を使用したいと考えています。
これは、ユーザーが電子メールで友人を招待して参加したり、電子メールで通知したりする場合に発生します。
モデルを使用してこれらの招待と通知をデータベースにドロップし、x 分ごとにワーカー プロセスで処理する必要があるのか 、それともメッセージと招待をそこに保存して Amazon SQS を使用する必要があるのか わかりません。私のワーカーは、処理のために Amazon SQS からそれを取得します (招待/通知を送信します)。
Amazon のアプローチではデータベースから負荷がかかりますが、そこからメッセージを取得するのは遅いと思います。
どう思いますか?
ruby - フレームワークに依存しない Ruby バックグラウンド ワーカー ライブラリの最適なオプションは何ですか?
メッセージ キューに RabbitMQ を使用して、iPhone アプリ用に Ruby と Sinatra を使用して簡単なレシピ検索エンジンを構築しています。バックグラウンド プロセスのさまざまな実装の選択肢を探していますが、それらのほとんどは、カスタム メッセージ キュー アルゴリズムを実装するか、Rails プラグインとして動作します。
RabbitMQ とうまく連携する、フレームワークにとらわれない高品質のワーカー ライブラリに関しては、何がありますか?
そして、明らかなことを超えて、ワーカーコードを書くときに心に留めておくべきベストプラクティスはありますか?
c# - C#BackGroundWorker異常DoWorkイベントが発生しない
これは私が持っているセットアップです、このコードは正しく動作します
この行を変更した場合tvPatientToHL7MSHManager.LoadByMSHID( ""); to tvPatientToHL7MSHManager.LoadByPatientID( "");
DoWorkイベントをスキップして、RunWorkerCompletedイベントに直接進みます。
LoadByMSHIDとLoadByPatientIDの唯一の違いは、コードパスが同一であることを除けば、SQLステートメントのフィルターです。
コードは、バックグラウンドスレッドがなくても正しく機能します。
任意のアイデアや提案をいただければ幸いです。
c# - C#.Net - WebService からデータをプルする BackgroundWorker をキャンセルする方法
私は次のコードを持っています:
このコードは基本的に、WebService メソッドへのデリゲートを呼び出しています。残念ながら、バックグラウンド ワーカーを使用した主な理由は、データの読み込み時に UI がフリーズするのを防ぐことでした。「お待ちください。キャンセルするにはここをクリックしてください」というポップアップ フォームがあります。
キャンセルをクリックすると、バックグラウンド ワーカーで CancelAsync を呼び出します。今、私はループしていないので、キャンセルを確認する良い方法がわかりません。私が見ることができる唯一のオプションは...
...メソッドの外側で、Web サービスを呼び出して m_CurrentData を設定する DoWork(..) の開始時に新しいスレッドを起動します。次に、キャンセルされたかどうかをチェックするループを実行するか、m_CurrentData が null ではないかどうかをチェックする必要があります。
キャンセルを達成するためのより良い方法はありますか?