Sitecore GraphQL schema and query cache reset

As you know GraphQL requires schema to execute your queries. In Sitecore implementation the schema is regenerated every time you touch templates.

What we recently discovered, that if you have separate CD and CM, schema on CD node will not be refreshed after publish.

Luckily, this is quite easy to fix. You need to create an event handler and subscribe it to publish:end:remote event.


public class TemplateUpdateHandler : Sitecore.Services.GraphQL.Content.EventHandlers.TemplateUpdateHandler
{
public TemplateUpdateHandler(IGraphQLEndpointManager endpointManager) : base(endpointManager)
{
}

public void OnPublishEndRemote(object sender, EventArgs e)
{
base.Reset(null);
}
}

Sitecore GraphQL schema and query cache reset