Skip to content

V15: Scheduled Publish does not publish content #18366

@jovanzlatanovic

Description

@jovanzlatanovic

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

15.2.0

Bug summary

It seems that the scheduling publishing of content is not working in version 15.2.0.

Error is logged in a console at specified publish time where it mentions an HttpContext is null.

Additionally when content is scheduled for publishing at a future time, refreshing the page does not show the "scheduled for publish" content (an edited text field is showing content before the modification scheduled to be published) but unsure if this is expected.

Specifics

Error logged:

System.AggregateException: One or more errors occurred. (One or more errors occurred. (HttpContext is null))
 ---> System.AggregateException: One or more errors occurred. (HttpContext is null)
 ---> System.InvalidOperationException: HttpContext is null
   at Umbraco.Extensions.HttpContextAccessorExtensions.GetRequiredHttpContext(IHttpContextAccessor httpContextAccessor)
   at Umbraco.Cms.Web.Common.AspNetCore.AspNetCoreRequestAccessor.GetFormValue(String name)
   at Umbraco.Cms.Web.Common.AspNetCore.AspNetCoreRequestAccessor.GetRequestValue(String name)
   at Umbraco.Cms.Core.Routing.ContentFinderByPageIdQuery.TryFindContent(IPublishedRequestBuilder frequest)
   at Umbraco.Cms.Core.Routing.PublishedRouter.FindPublishedContent(IPublishedRequestBuilder request)
   at Umbraco.Cms.Core.Routing.PublishedRouter.TryRouteRequest(IPublishedRequestBuilder request)
   at Umbraco.Cms.Core.Routing.PublishedRouter.RouteRequestAsync(IPublishedRequestBuilder builder, RouteRequestOptions options)
   at Umbraco.Extensions.UrlProviderExtensions.DetectCollisionAsync(ILogger logger, IContent content, String url, String culture, IUmbracoContext umbracoContext, IPublishedRouter publishedRouter, ILocalizedTextService textService, IVariationContextAccessor variationContextAccessor, UriUtility uriUtility, IPublishedContentCache contentCache, IDocumentNavigationQueryService navigationQueryService)
   at Umbraco.Extensions.UrlProviderExtensions.GetContentUrlsByCultureAsync(IContent content, IEnumerable`1 cultures, IPublishedRouter publishedRouter, IUmbracoContext umbracoContext, IContentService contentService, ILocalizedTextService textService, IVariationContextAccessor variationContextAccessor, ILogger logger, UriUtility uriUtility, IPublishedUrlProvider publishedUrlProvider, IPublishedContentCache contentCache, IDocumentNavigationQueryService navigationQueryService)
   at Umbraco.Extensions.UrlProviderExtensions.GetContentUrlsAsync(IContent content, IPublishedRouter publishedRouter, IUmbracoContext umbracoContext, ILanguageService languageService, ILocalizedTextService textService, IContentService contentService, IVariationContextAccessor variationContextAccessor, ILogger`1 logger, UriUtility uriUtility, IPublishedUrlProvider publishedUrlProvider, IPublishedContentCache contentCache, IDocumentNavigationQueryService navigationQueryService)
   at Umbraco.Cms.Core.Events.AddUnroutableContentWarningsWhenPublishingNotificationHandler.HandleAsync(ContentPublishedNotification notification, CancellationToken cancellationToken)
   at Umbraco.Cms.Core.Events.INotificationAsyncHandler`1.HandleAsync(IEnumerable`1 notifications, CancellationToken cancellationToken)
   at Umbraco.Cms.Core.Events.EventAggregator.PublishCoreAsync[TNotification](IEnumerable`1 allHandlers, IEnumerable`1 notifications, CancellationToken cancellationToken)
   at Umbraco.Cms.Core.Events.NotificationAsyncHandlerWrapperImpl`1.HandleAsync[TNotification,TNotificationHandler](IEnumerable`1 notifications, CancellationToken cancellationToken, ServiceFactory serviceFactory, Func`4 publish)
   at Umbraco.Cms.Core.Events.EventAggregator.PublishNotificationsAsync[TNotification,TNotificationHandler](IEnumerable`1 notifications, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.WaitAllCore(ReadOnlySpan`1 tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.WaitAll(ReadOnlySpan`1 tasks)
   at Umbraco.Cms.Core.Events.EventAggregator.Publish[TNotification,TNotificationHandler](IEnumerable`1 notifications)
   at Umbraco.Cms.Core.Events.ScopedNotificationPublisher`1.PublishScopedNotifications(IList`1 notifications)
   at Umbraco.Cms.Core.Events.ScopedNotificationPublisher`1.ScopeExit(Boolean completed)
   at Umbraco.Cms.Infrastructure.Scoping.Scope.TryFinally(Action[] actions)
   --- End of inner exception stack trace ---
   at Umbraco.Cms.Infrastructure.Scoping.Scope.TryFinally(Action[] actions)
   at Umbraco.Cms.Infrastructure.Scoping.Scope.Dispose()
   at Umbraco.Cms.Infrastructure.BackgroundJobs.Jobs.ScheduledPublishingJob.RunJobAsync()
   at Umbraco.Cms.Infrastructure.BackgroundJobs.Jobs.ScheduledPublishingJob.RunJobAsync()

Steps to reproduce

  1. Schedule content to be published in a future time.
  2. When the time arrives content is not published and an error is logged at the exact scheduled publish time.

Expected result / actual result

  1. Expected the content to be published at specific time.
  2. Content is not published and an error is logged.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions