Esempio n. 1
0
 public static void RegisterTaskAttibutes(this TaskServiceOptions options, Assembly assembly)
 {
     assembly.GetTypes()
     .SelectMany(t => t.GetMethods())
     .Select(m => new { method = m, attribute = m.GetCustomAttribute <QueuedTaskAttribute>() })
     .Where(entry => entry.attribute != null)
     .ToList()
     .ForEach(entry =>
     {
         var taskName  = entry.attribute.Name ?? entry.method.GetDefaultTaskNameForMethod();
         var queueName = entry.attribute.Queue ?? options.DefaultQueueName;
         options.Tasks.Add(new TaskDefinition(taskName, entry.method, queueName));
     });
 }
Esempio n. 2
0
 public TaskService(
     ILogger <TaskService> logger,
     IServiceProvider serviceProvider,
     IOptions <QueueTServiceOptions> appOptions,
     IOptions <TaskServiceOptions> taskOptions,
     ITaskRegistry taskRegistry,
     IMessageDispatcher messageDispatcher)
 {
     _logger            = logger;
     _serviceProvider   = serviceProvider;
     _appOptions        = appOptions.Value;
     _taskOptions       = taskOptions.Value;
     Registry           = taskRegistry;
     _messageDispatcher = messageDispatcher;
 }