검색 및 그룹화 부족에서 영감을 얻은 Hangfire.tags는 다른 작업을 검색하고 그룹화하는 방법을 제공합니다.
.NET Core의 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 (또는 위의 옵션을 변경)를 추가 한 후 생성 된 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 ) ;결과는 다음과 같습니다.
저작권 (C) 2018 2face-it Bv
이에 따라이 소프트웨어 및 관련 문서 파일 ( "소프트웨어")의 사본을 얻는 사람에게는 허가가 부여됩니다. 소프트웨어의 사용, 복사, 수정, 합병, 배포, 배포, 숭고 및/또는 소프트웨어의 사본을 판매 할 권한을 포함하여 제한없이 소프트웨어를 처리 할 수 있도록 소프트웨어를 제공 할 권한이 없습니다.
위의 저작권 통지 및이 권한 통지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야합니다.
이 소프트웨어는 상업성, 특정 목적에 대한 적합성 및 비 침해에 대한 보증을 포함하여 명시 적 또는 묵시적 보증없이 "그대로"제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타, 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래에서 발생하는 계약, 불법 행위 또는 기타의 행동에 관계없이 청구, 손해 또는 기타 책임에 대해 책임을지지 않습니다.