Inspiré par le manque de recherche et de regroupement, Hangfire.tags fournit un moyen de rechercher et de regrouper différents emplois.
Dans .NET Core's Startup.CS:
public void ConfigureServices ( IServiceCollection services )
{
services . AddHangfire ( config =>
{
config . UseSqlServerStorage ( " connectionSting " ) ;
// config.UseTagsWithPostgreSql();
// config.UseTagsWithMySql();
// config.UseTagsWithRedis();
config . UseTagsWithSql ( ) ;
} ) ;
}Sinon,
GlobalConfiguration . Configuration
. UseSqlServerStorage ( " connectionSting " )
//.UseTagsWithPostgreSql()
//.UseTagsWithMySql()
//.UseTagsWithRedis();
. UseTagsWithSql ( ) ; Remarque : Si vous avez un tableau de bord et un serveur en cours d'exécution séparément, vous devrez appeler UseTags() , UseTagsWithSql() , UseTagsWithPostgreSql() , UseTagsWithMySql() ou UseTagsWithRedis() sur les deux.
Si vous avez un schéma de feu de hangage personnalisé dans votre base de données, vous devrez transmettre vos options SQL à votre méthode de stockage. Par exemple:
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 )
) ; Comme d'habitude, vous pouvez fournir des options supplémentaires pour la méthode UseTags() .
Voici ce que vous pouvez configurer:
Remarque : Après avoir initialement ajouté HangFire.tags (ou modifier les options ci-dessus), vous devrez peut-être effacer le cache du navigateur, car CSS / JS généré peut être mis en cache par navigateur.
Afin de nettoyer correctement les balises pour les travaux expirés, une extension est requise pour les fournisseurs de stockage par défaut. À l'heure actuelle, il y a trois fournisseurs: pour SQL Server, pour PostgreSQL et pour MySQL.
HangFire.tags fournit des méthodes d'extension sur l'objet PerformContext , vous devrez donc l'ajouter comme argument de travail.
Remarque : Comme IJobCancellationToken , PerformContext est un type d'argument spécial que Hangfire remplacera automatiquement. Vous devez passer null lors de la mise en place d'un emploi.
Vous pouvez maintenant ajouter une balise:
public void TaskMethod ( PerformContext context )
{
context . AddTags ( " Hello, world! " ) ;
}ce qui se traduit par le tag bonjour-monde.
Vous pouvez également ajouter des balises à l'aide d'attributs, soit sur la classe, soit sur la méthode (ou les deux!)
[ Tag ( " TaskMethod " ) ]
public void TaskMethod ( PerformContext context )
{
....
} Dans le tableau de bord, en cliquant sur Jobs, vous verrez un nouvel élément de menu, appelé balises. Par défaut, cette page vous montrera toutes les balises définies du système. Cliquez sur une balise affichera une liste de tous les travaux avec cette balise attachée.
La vue par défaut pour afficher les balises est un soi-disant tagcloud. Si vous préférez une liste déroulante Assommande de secours, vous pouvez spécifier que l'utilisation des options:
var options = new TagsOptions ( )
{
TagsListStyle = TagsListStyle . Dropdown
} ;
config . UseTagsWithSql ( options ) ;Le résultat ressemblera à ceci:
Copyright (c) 2018 2face-it bv
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.