我想使用多租户应用程序的Masstransit调度API。我需要为每个租户发送重复的消息。
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;
}
}问题是调度程序使用类名" MyScheduler“作为作业名,并且不能使用MyScheduler发送两个重复出现的消息。有没有办法用Masstransit调度API实现多租户?
发布于 2017-01-26 04:01:29
将构造函数(用于MySchedule类)中的ScheduleId和/或ScheduleGroup更改为特定于租户的,这将更改Quartz使用的标识符。
public class MySchedule : DefaultRecurringSchedule
{
public MySchedule(string cronExpression, string description, string tenantId)
{
CronExpression = cronExpression;
Description = description;
ScheduleId = "MyScheduleForTenant" + tenantId;
}
}https://stackoverflow.com/questions/41851307
复制相似问题