問題タブ [hangfire]
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.
sql-server - SQL Server の Hangfire 構成
私は MVC 5 インターネット アプリケーションをコーディングしておりHangfire
、定期的なタスクに使用したいと考えています。
関数でこれを指定せずHangfire
に使用するように設定するにはどうすればよいですか。SQL Server storage
Startup.Auth
ConfigureAuth(IAppBuilder app)
SQL Server 構成のリソース リンクは次のとおりです: http://docs.hangfire.io/en/latest/configuration/using-sql-server.html
このリソースには次のように記載されています。
OWIN Startup クラスが適用されない Web アプリケーションの外部で Hangfire を使用する場合は、SqlServerStorage のインスタンスを手動で作成し、それを JobStorage.Current 静的プロパティに渡します。パラメータは同じです。
コード例は次のとおりです。
次のコードを (独自の接続文字列で) 試しましたが、ダッシュボードは利用できません。コントローラー関数から上記のコードを呼び出しました。
私が正しく行っていないことはありますか?クラスHangfire
を使用SQL Server storage
せずに使用するように設定するにはどうすればよいですか?Startup.Auth
前もって感謝します。
c# - 「プールから接続を取得中にタイムアウトしました。」Hangfire.Postgres
私はハングファイアを初めて使用するので、おそらくどこかを台無しにしています。Hangfire を次のように構成しました: https://github.com/HangfireIO/Hangfire#installation
しかし、代わりに:
私は持っている:
そこで、DB に Hangfire データベースを作成しました。
そして、プロジェクトをビルドして実行しています。大丈夫です。postgres で Hangfire DB にすべてのテーブルを作成しています。それはうまくいっています。
しかし、私がしようとしているとき:
InnerMessage で例外を受け取りました:
何か不足していますか?
c# - hangfire ジョブのアクティブ化と Autofac に関する問題
プロジェクトにハングファイアを実装しようとしています。RecurringJob を hangfire に追加すると問題が発生し、起動すると次のエラーが発生します。
Autofac.Core.Registration.ComponentNotRegisteredException
要求されたサービス 'XXXX.Services.ScheduleTasks.RepairNotificationSevice' は登録されていません。この例外を回避するには、コンポーネントを登録してサービスを提供するか、IsRegistered() を使用してサービス登録を確認するか、ResolveOptional() メソッドを使用してオプションの依存関係を解決します。
hangfire と hangfire.autofac をインストールしました。Hangfire 構成を Startup.cs に追加しましたが、ContainerBuilder データは別のファイルにあります。私の startup.cs ファイルは次のようになります。
動作しません。結果なしで、var builder と config.UseAutofacActivator の間にすべての Container builder データを貼り付けることを確認しました。私の Autofac 構成は、Global.asax から呼び出される「Bootstrapper.cs」という名前のファイルにあります。この問題を解決するにはどうすればよいですか? ありがとう
asp.net-mvc - OWIN 非同期スタートアップ (Hangfire を使用)
Hangfire をリモート SQL サーバーの SQL ストレージと共に使用し、既存の MVC サイトと一緒に実行しています。私のスタートアップ クラスは非常に単純です。
問題は、リモート サーバーへの接続が遅れると、MVC サイトの起動が遅れることです。致命的なエラーを含む、OWIN の起動中に何が起こっても、プロジェクトが要求に応答できるように、OWIN を非同期的に起動する方法はありますか?
c# - HangFire 定期タスク データ
私は MVC 5 インターネット アプリケーションをコーディングしておりHangFire
、定期的なタスクに使用しています。
毎月の繰り返しタスクがある場合、次の実行時間の値を取得するにはどうすればよいですか?
繰り返しタスクのコードは次のとおりです。
ジョブ データは次のように取得できます。
ただし、次に何をすべきかはわかりません。
繰り返しタスクの次回実行時間を取得することはできますか?
前もって感謝します。
c# - バックグラウンド処理を Hangfire に移行する
1 つの Web ロールと 1 つの worker ロール インスタンスで構成される Web アプリケーションがあります。Webrole は基本的に、いくつかの BLOB を BLOB ストレージに集約し、ワーカーが来て、保存されたファイルをスイープして処理します。
問題は、2 つのワーカー ロール インスタンスを使用した場合、処理が成功した場合にのみ BLOB が削除されるため、結果が重複する可能性があることです。これを回避するために、Hangfire を使用することにしました。
私が計画しているのは、Web ロールが要求を受け取ったときに、ファイルを BLOB ストレージに保存するだけでなく、そのファイルの処理タスクをキューに入れることです。その後、Hangfire ワーカー スレッドがそれを処理します。
これにより、別の疑問が生じます: hangfire をどこに展開すればよいですか?
Hangfire を Web ロール インスタンスにデプロイすると、IIS があるため UI にアクセスできますが、バックグラウンド処理に使用されるリソースを Web ロール自体から分離することはできません。これを worker ロール インスタンスにデプロイすると、IIS がないため、UI を提供できなくなります。
Web ロール インスタンスにタスクを起動させ、ワーカー インスタンスにそれらを探して消費させる方法はありますか? もしそうなら、どのように?
c# - Ninject の削除/置換 InThreadScope オブジェクト インスタンス
バックグラウンド ジョブ (Hangfire.io で処理) に挿入されている Entity Framework コンテキストがあります。Hangfire はバックグラウンド ワーカーごとにスレッドを生成しますが、同じワーカーで複数のジョブを実行します。したがって、私の EF コンテキストは長期間保持される可能性があります。
実行の最後に、ジョブのスレッドの Ninject インスタンスを削除したいと思います。したがって、同じスレッドでそのタイプの次の解決のために新しいインスタンスを作成します。
Ninject で InThreadScope からインスタンスを削除するにはどうすればよいですか?