検索とグループ化の欠如に触発されて、Hangfire.tagsはさまざまなジョブを検索してグループ化する方法を提供します。
.NET Core's Startup.cs:
public void ConfigureServices ( IServiceCollection services )
{
services . AddHangfire ( config =>
{
config . UseSqlServerStorage ( " connectionSting " ) ;
// config.UseTagsWithPostgreSql();
// config.UseTagsWithMySql();
// config.UseTagsWithRedis();
config . UseTagsWithSql ( ) ;
} ) ;
}さもないと、
GlobalConfiguration . Configuration
. UseSqlServerStorage ( " connectionSting " )
//.UseTagsWithPostgreSql()
//.UseTagsWithMySql()
//.UseTagsWithRedis();
. UseTagsWithSql ( ) ;注:ダッシュボードとサーバーが個別に実行されている場合は、 UseTags() 、 UseTagsWithSql() 、 UseTagsWithPostgreSql() 、 UseTagsWithMySql()またはUseTagsWithRedis()両方に呼び出す必要があります。
データベースにカスタムハングファイアスキーマがある場合は、SQLオプションをストレージメソッドに渡す必要があります。例えば:
var tagsOptions = new TagsOptions ( ) { TagsListStyle = TagsListStyle . Dropdown } ;
var hangfireSqlOptions = new SqlServerStorageOptions
{
SchemaName = " MyCustomHangFireSchema " ,
} ;
services . AddHangfire ( hangfireConfig => hangfireConfig
. SetDataCompatibilityLevel ( CompatibilityLevel . Version_180 )
. UseColouredConsoleLogProvider ( )
. UseSimpleAssemblyNameTypeSerializer ( )
. UseRecommendedSerializerSettings ( )
. UseSqlServerStorage ( " dbConnection " , hangfireSqlOptions )
. UseTagsWithSql ( tagsOptions , hangfireSqlOptions )
) ;いつものように、 UseTags()メソッドに追加のオプションを提供できます。
構成できるものは次のとおりです。
注:最初にHangfire.Tagsを追加した後(または上記のオプションを変更します)、ブラウザキャッシュをクリアする必要がある場合があります。
期限切れのジョブのタグを適切にクリーンアップするには、デフォルトのストレージプロバイダーに拡張機能が必要です。現在、3つのプロバイダーがあります。SQLServer、PostgreSQL、MySQLの場合。
hangfire.tagsは、 PerformContextオブジェクトに拡張メソッドを提供するため、ジョブの引数として追加する必要があります。
注: IJobCancellationTokenと同様に、 PerformContext 、Hangfireが自動的に代用する特別な引数タイプです。仕事をするときはnullを渡す必要があります。
これで、タグを追加できます。
public void TaskMethod ( PerformContext context )
{
context . AddTags ( " Hello, world! " ) ;
}その結果、タグHelloWorldになります。
クラスまたはメソッド(またはその両方)のいずれかで属性を使用してタグを追加することもできます。
[ Tag ( " TaskMethod " ) ]
public void TaskMethod ( PerformContext context )
{
....
} ダッシュボードには、ジョブをクリックすると、タグと呼ばれる新しいメニュー項目が表示されます。デフォルトでは、このページでは、システム内のすべての定義されたタグが表示されます。タグをクリックすると、そのタグが添付されたすべてのジョブのリストが表示されます。
タグを表示するデフォルトビューは、いわゆるTagCloudです。オートコンプリートドロップダウンリストを希望する場合は、オプションを使用することを指定できます。
var options = new TagsOptions ( )
{
TagsListStyle = TagsListStyle . Dropdown
} ;
config . UseTagsWithSql ( options ) ;結果は次のようになります:
Copyright(c)2018 2face-it bv
このソフトウェアと関連するドキュメントファイル(「ソフトウェア」)のコピーを入手して、制限なしにソフトウェアを扱うために、このソフトウェアを制限する権利を含め、ソフトウェアのコピーをコピー、変更、公開、配布、販売する、ソフトウェアのコピーを許可する人を許可する人を許可することを含めて、許可が無料で許可されます。
上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたはかなりの部分に含まれるものとします。
このソフトウェアは、商品性、特定の目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示的または黙示的なものを保証することなく、「現状のまま」提供されます。いかなる場合でも、著者または著作権所有者は、契約、不法行為、またはその他の訴訟、ソフトウェアまたはソフトウェアの使用またはその他の取引に関連する、またはその他の契約、またはその他の請求、またはその他の責任について責任を負いません。