Je souhaite utiliser l'API d'ordonnancement Masstransit pour les applications multi-locataires. Je dois envoyer des messages récurrents par locataire.Masstransit - Planification d'un message récurrent prenant en charge la multitenancy
var schedule1 = new MySchedule("1 * * * * ?", "Tenant 1");
var schedule2 = new MySchedule("6 * * * * ?", "Tenant 2");
endPoint.Result.ScheduleRecurringSend(sendToUri, schedule1, new OrderCommand
{
Id = Guid.NewGuid().ToString(),
Name = "Tenant 1"
});
endPoint.Result.ScheduleRecurringSend(sendToUri, schedule2, new OrderCommand
{
Id = Guid.NewGuid().ToString(),
Name = "Tenant 2"
});
public class MySchedule : DefaultRecurringSchedule
{
public MySchedule(string cronExpression, string description)
{
CronExpression = cronExpression;
Description = description;
}
}
Le problème est que le planificateur utilise le nom de classe « MyScheduler » comme nom de travail et ne peut pas envoyer deux messages récurrents en utilisant MyScheduler. Existe-t-il un moyen d'implémenter le multitenancy avec l'API d'ordonnancement Masstransit?
Oui, c'est ça. Je dois utiliser l'interface RecurringSchedule au lieu de DefaultRecurringSchedule et il modifie l'identifiant Quartz. –