configure Redis cache and distributed locks

This commit is contained in:
Behzad Alizadeh
2026-10-10 16:50:37 +03:30
parent 3f75fec42b
commit 2676bf6ffd
155 changed files with 1784 additions and 229 deletions
@@ -23,17 +23,29 @@ public class DefaultRouteTableUpdater(
var stimulusName = HttpStimulusNames.HttpEndpoint;
var triggerFilter = new TriggerFilter
{
Name = stimulusName
Name = stimulusName,
TenantAgnostic = true
};
var bookmarkFilter = new BookmarkFilter
{
Name = stimulusName
Name = stimulusName,
TenantAgnostic = true
};
var triggers = (await triggerStore.FindManyAsync(triggerFilter, cancellationToken)).ToList();
var bookmarks = (await bookmarkStore.FindManyAsync(bookmarkFilter, cancellationToken)).ToList();
await AddRoutesAsync(triggers, cancellationToken);
await AddRoutesAsync(bookmarks, cancellationToken);
var routes = new List<HttpRouteData>();
foreach (var trigger in Filter(triggers))
{
var context = new HttpEndpointRouteProviderContext(trigger.GetPayload<HttpEndpointBookmarkPayload>(), trigger.TenantId, cancellationToken);
routes.AddRange(await httpEndpointRoutesProvider.GetRoutesAsync(context));
}
foreach (var bookmark in Filter(bookmarks))
{
var context = new HttpEndpointRouteProviderContext(bookmark.GetPayload<HttpEndpointBookmarkPayload>(), bookmark.TenantId, cancellationToken);
routes.AddRange(await httpEndpointRoutesProvider.GetRoutesAsync(context));
}
routeTable.Replace(routes);
}
public async Task AddRoutesAsync(IEnumerable<StoredTrigger> triggers, CancellationToken cancellationToken = default)
@@ -107,4 +119,4 @@ public class DefaultRouteTableUpdater(
var stimulusName = HttpStimulusNames.HttpEndpoint;
return bookmarks.Where(x => x.Name == stimulusName && x.Payload != null);
}
}
}