Removes IBatchedDatabaseServerMessenger, renames methods of IServerMessenger
This commit is contained in:
@@ -21,7 +21,7 @@ namespace Umbraco.Web
|
||||
/// <remarks>
|
||||
/// This binds to appropriate umbraco events in order to trigger the Boot(), Sync() & FlushBatch() calls
|
||||
/// </remarks>
|
||||
public class BatchedDatabaseServerMessenger : DatabaseServerMessenger, IBatchedDatabaseServerMessenger
|
||||
public class BatchedDatabaseServerMessenger : DatabaseServerMessenger
|
||||
{
|
||||
private readonly IRequestCache _requestCache;
|
||||
private readonly IRequestAccessor _requestAccessor;
|
||||
@@ -58,7 +58,7 @@ namespace Umbraco.Web
|
||||
BatchMessage(refresher, messageType, idsA, arrayType, json);
|
||||
}
|
||||
|
||||
public void FlushBatch()
|
||||
public override void SendMessages()
|
||||
{
|
||||
var batch = GetBatch(false);
|
||||
if (batch == null) return;
|
||||
@@ -66,13 +66,14 @@ namespace Umbraco.Web
|
||||
var instructions = batch.SelectMany(x => x.Instructions).ToArray();
|
||||
batch.Clear();
|
||||
|
||||
//Write the instructions but only create JSON blobs with a max instruction count equal to MaxProcessingInstructionCount
|
||||
// Write the instructions but only create JSON blobs with a max instruction count equal to MaxProcessingInstructionCount
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
foreach (var instructionsBatch in instructions.InGroupsOf(GlobalSettings.DatabaseServerMessenger.MaxProcessingInstructionCount))
|
||||
{
|
||||
WriteInstructions(scope, instructionsBatch);
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Umbraco.Infrastructure.Cache
|
||||
/// </summary>
|
||||
public sealed class DatabaseServerMessengerNotificationHandler : INotificationHandler<UmbracoApplicationStarting>
|
||||
{
|
||||
private readonly IBatchedDatabaseServerMessenger _messenger;
|
||||
private readonly IServerMessenger _messenger;
|
||||
private readonly IRequestAccessor _requestAccessor;
|
||||
private readonly IUmbracoDatabaseFactory _databaseFactory;
|
||||
private readonly IDistributedCacheBinder _distributedCacheBinder;
|
||||
@@ -35,7 +35,7 @@ namespace Umbraco.Infrastructure.Cache
|
||||
_databaseFactory = databaseFactory;
|
||||
_distributedCacheBinder = distributedCacheBinder;
|
||||
_logger = logger;
|
||||
_messenger = serverMessenger as IBatchedDatabaseServerMessenger;
|
||||
_messenger = serverMessenger;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
@@ -88,6 +88,6 @@ namespace Umbraco.Infrastructure.Cache
|
||||
/// <summary>
|
||||
/// Clear the batch on end request
|
||||
/// </summary>
|
||||
private void EndRequest(object sender, UmbracoRequestEventArgs e) => _messenger?.FlushBatch();
|
||||
private void EndRequest(object sender, UmbracoRequestEventArgs e) => _messenger?.SendMessages();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,9 +123,9 @@ namespace Umbraco.Infrastructure.HostedServices
|
||||
finally
|
||||
{
|
||||
// If running on a temp context, we have to flush the messenger
|
||||
if (contextReference.IsRoot && _serverMessenger is IBatchedDatabaseServerMessenger m)
|
||||
if (contextReference.IsRoot)
|
||||
{
|
||||
m.FlushBatch();
|
||||
_serverMessenger.SendMessages();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace Umbraco.Core.Sync
|
||||
|
||||
#region IServerMessenger
|
||||
|
||||
public void PerformRefresh<TPayload>(ICacheRefresher refresher, TPayload[] payload)
|
||||
public void QueueRefresh<TPayload>(ICacheRefresher refresher, TPayload[] payload)
|
||||
{
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
if (payload == null) throw new ArgumentNullException(nameof(payload));
|
||||
@@ -72,7 +72,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RefreshByJson, json: jsonPayload);
|
||||
}
|
||||
|
||||
public void PerformRefresh<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances)
|
||||
public void QueueRefresh<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -83,7 +83,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RefreshByInstance, getId, instances);
|
||||
}
|
||||
|
||||
public void PerformRefresh<T>(ICacheRefresher refresher, Func<T, Guid> getGuidId, params T[] instances)
|
||||
public void QueueRefresh<T>(ICacheRefresher refresher, Func<T, Guid> getGuidId, params T[] instances)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -94,7 +94,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RefreshByInstance, getId, instances);
|
||||
}
|
||||
|
||||
public void PerformRemove<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances)
|
||||
public void QueueRemove<T>(ICacheRefresher refresher, Func<T, int> getNumericId, params T[] instances)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -105,7 +105,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RemoveByInstance, getId, instances);
|
||||
}
|
||||
|
||||
public void PerformRemove(ICacheRefresher refresher, params int[] numericIds)
|
||||
public void QueueRemove(ICacheRefresher refresher, params int[] numericIds)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -114,7 +114,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RemoveById, numericIds.Cast<object>());
|
||||
}
|
||||
|
||||
public void PerformRefresh(ICacheRefresher refresher, params int[] numericIds)
|
||||
public void QueueRefresh(ICacheRefresher refresher, params int[] numericIds)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -123,7 +123,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RefreshById, numericIds.Cast<object>());
|
||||
}
|
||||
|
||||
public void PerformRefresh(ICacheRefresher refresher, params Guid[] guidIds)
|
||||
public void QueueRefresh(ICacheRefresher refresher, params Guid[] guidIds)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -132,7 +132,7 @@ namespace Umbraco.Core.Sync
|
||||
Deliver(refresher, MessageType.RefreshById, guidIds.Cast<object>());
|
||||
}
|
||||
|
||||
public void PerformRefreshAll(ICacheRefresher refresher)
|
||||
public void QueueRefreshAll(ICacheRefresher refresher)
|
||||
{
|
||||
|
||||
if (refresher == null) throw new ArgumentNullException(nameof(refresher));
|
||||
@@ -346,8 +346,6 @@ namespace Umbraco.Core.Sync
|
||||
DeliverRemote(refresher, messageType, idsA);
|
||||
}
|
||||
|
||||
public abstract void Sync();
|
||||
|
||||
//protected virtual void Deliver(ICacheRefresher refresher, object payload)
|
||||
//{
|
||||
// if (servers == null) throw new ArgumentNullException("servers");
|
||||
@@ -367,5 +365,8 @@ namespace Umbraco.Core.Sync
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
public abstract void Sync();
|
||||
public abstract void SendMessages();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user