/// <summary> /// Use Sql Server for Work, Progress, and Scheduled Jobs, and sets Quidjibo configuration /// </summary> /// <param name="builder"></param> /// <param name="config"></param> /// <returns></returns> public static QuidjiboBuilder UseSqlServer(this QuidjiboBuilder builder, SqlServerQuidjiboConfiguration config) { return(builder.Configure(config) .ConfigureWorkProviderFactory(new SqlWorkProviderFactory(config.ConnectionString)) .ConfigureProgressProviderFactory(new SqlProgressProviderFactory(config.ConnectionString)) .ConfigureScheduleProviderFactory(new SqlScheduleProviderFactory(config.ConnectionString))); }
/// <summary> /// Use WebProxy for Work, Progress, and Scheduled Jobs, and sets Quidjibo configuration /// </summary> /// <param name="builder"></param> /// <param name="config"></param> /// <returns></returns> public static QuidjiboBuilder UseWebProxyServer(this QuidjiboBuilder builder, WebProxyQuidjiboConfiguration config) { var client = new WebProxyClient(config.Url, config.ClientId, config.ClientSecret); return(builder.Configure(config) .ConfigureWorkProviderFactory(new WebProxyWorkProviderFactory(builder.LoggerFactory, client)) .ConfigureProgressProviderFactory(new WebProxyProgressProviderFactory(builder.LoggerFactory, client)) .ConfigureScheduleProviderFactory(new WebProxyScheduleProviderFactory(builder.LoggerFactory, client))); }
/// <summary> /// Use Sql Server for Work, Progress, and Scheduled Jobs /// </summary> /// <param name="builder"></param> /// <param name="connectionString"></param> /// <param name="queues"></param> /// <returns></returns> public static QuidjiboBuilder UseSqlServer(this QuidjiboBuilder builder, string connectionString, params string[] queues) { if (queues == null || queues.Length == 0) { queues = new[] { "default" }; } var config = new SqlServerQuidjiboConfiguration { ConnectionString = connectionString, Queues = queues }; return(builder.Configure(config) .ConfigureWorkProviderFactory(new SqlWorkProviderFactory(connectionString)) .ConfigureProgressProviderFactory(new SqlProgressProviderFactory(connectionString)) .ConfigureScheduleProviderFactory(new SqlScheduleProviderFactory(connectionString))); }
/// <summary> /// Use SQS for the queue infrastructure /// </summary> /// <param name="builder">The QuidjiboBuilder.</param> /// <param name="sqsQuidjiboConfiguration">The configuration.</param> /// <returns></returns> public static QuidjiboBuilder UseSqs(this QuidjiboBuilder builder, SqsQuidjiboConfiguration sqsQuidjiboConfiguration) { return(builder.Configure(sqsQuidjiboConfiguration) .ConfigureWorkProviderFactory(new SqsWorkProviderFactory(builder.LoggerFactory, sqsQuidjiboConfiguration))); }