Вдохновленный отсутствием поиска и группировки, 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() на обоих.
Если в базе данных есть пользовательская схема Hangbfire, вам нужно перенести варианты 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 (или измените приведенные выше параметры), вам может потребоваться очистить кеш браузера, так как сгенерированный CSS/JS может быть кэширован браузером.
Для правильной очистки тегов для выполнения срока службы необходимо расширение для поставщиков хранения по умолчанию. Прямо сейчас есть три провайдера: для SQL Server, для PostgreSQL и для MySQL.
Hangfire.tags обеспечивает методы расширения на объекте PerformContext , поэтому вам нужно добавить его в качестве аргумента задания.
Примечание . Как и IJobCancellationToken , PerformContext - это специальный тип аргумента, который Hangfire будет заменять автоматически. Вы должны пройти null при включении работы.
Теперь вы можете добавить тег:
public void TaskMethod ( PerformContext context )
{
context . AddTags ( " Hello, world! " ) ;
}который приводит к тегу Hello-World.
Вы также можете добавить теги, используя атрибуты, либо в классе, либо на методе (или оба!)
[ Tag ( " TaskMethod " ) ]
public void TaskMethod ( PerformContext context )
{
....
} На приборной панели, нажав на работу, вы увидите новый пункт меню, называемый тегами. По умолчанию на этой странице будут показаны все определенные теги в системе. Нажатие на тег покажет список всех заданий с прикрепленным тегом.
Представление по умолчанию для показы тегов - так называемый Tagcloud. Если вы предпочитаете выпадающий список автозаполнения, вы можете указать, что с помощью параметров:
var options = new TagsOptions ( )
{
TagsListStyle = TagsListStyle . Dropdown
} ;
config . UseTagsWithSql ( options ) ;Результат будет выглядеть так:
Copyright (c) 2018 2face-it bv
Настоящим дается разрешение, бесплатно, любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), чтобы иметь дело в программном обеспечении без ограничений, включая, без ограничения, права на использование, копирование, изменение, объединение, публикацию, распределение, сублиценность и/или продавать копии программного обеспечения и разрешения лиц, на которые программное обеспечение подходит для того, чтобы поступить так, чтобы поступить на следующие условия: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: на следующие условия: к следующим условиям: на следующие условия: на следующие условия.
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае авторы или владельцы авторских прав не будут нести ответственность за любые претензии, убытки или другую ответственность, будь то в действии контракта, деликт или иным образом, возникающие из или в связи с программным обеспечением или использованием или другими сделками в программном обеспечении.