Exemplo n.º 1
0
 /// <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)));
        }
Exemplo n.º 3
0
        /// <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)));
        }
Exemplo n.º 4
0
 /// <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)));
 }