Azure WebJobs (3.x) Continuous job not showing Functions in Dashboard





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







3















We have an Azure WebJob (3.x) running under an API App in Azure, all Core 2.1. It publishes fine, and runs, but doesn't show any Functions or list the Function Invocations on the dashboard. Which is odd, because the console output for the job does show it detecting a function:



[10/17/2018 09:26:19 > fa7c81: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
[10/17/2018 09:26:19 > fa7c81: SYS INFO] Status changed to Running
[10/17/2018 09:26:19 > fa7c81: INFO]
[10/17/2018 09:26:19 > fa7c81: INFO] D:localTempjobscontinuousSubmissionJob43ucb4rv.ipc>dotnet SubmissionJob.dll
[10/17/2018 09:26:21 > fa7c81: INFO] dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
[10/17/2018 09:26:21 > fa7c81: INFO] Hosting starting
[10/17/2018 09:26:21 > fa7c81: INFO] info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
[10/17/2018 09:26:21 > fa7c81: INFO] Starting JobHost
[10/17/2018 09:26:21 > fa7c81: INFO] info: Host.Startup[0]
[10/17/2018 09:26:21 > fa7c81: INFO] Found the following functions:
[10/17/2018 09:26:21 > fa7c81: INFO] SubmissionJob.Functions.ProcessQueueMessageAsync
[10/17/2018 09:26:21 > fa7c81: INFO]
[10/17/2018 09:26:21 > fa7c81: INFO] Application started. Press Ctrl+C to shut down.
[10/17/2018 09:26:21 > fa7c81: INFO] Hosting environment: QA


The Program.cs Program class looks like this:



public static async Task Main(string args)
{
var builder = new HostBuilder()
.UseEnvironment(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))
.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices()
.AddAzureStorage()
.AddServiceBus()
.AddEventHubs();
})
.ConfigureAppConfiguration(b =>
{
// Adding command line as a configuration source
b.AddCommandLine(args);
})
.ConfigureLogging((context, b) =>
{
b.SetMinimumLevel(LogLevel.Debug);
b.AddConsole();

// If this key exists in any config, use it to enable App Insights
var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
if (!string.IsNullOrEmpty(appInsightsKey))
{
b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
}
})
.ConfigureServices((context, services) =>
{
services.AddAutoMapper();

services.AddMemoryCache();

services.AddDbContext<SubmissionsDbContext>(opts =>
opts.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));

// cloud services
services.AddTransient(s =>
CloudStorageAccount.Parse(
context.Configuration.GetConnectionString("AzureQueueConnectionString")));
services.AddTransient<IBlobReadService, AzureBlobReadService>();
services.AddSingleton<IBlobWriteService, AzureBlobWriteService>();
services.AddSingleton<IQueueWriteService, AzureQueueWriteService>();

// submission services
services.AddScoped<ISubmissionStatusService, SubmissionStatusService>();

services.AddSingleton<Functions, Functions>();

// job activator, required in webjobs sdk 3+
services.AddSingleton<IJobActivator>(new WebJobsActivator(services.BuildServiceProvider()));
})
.UseConsoleLifetime();;

var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}


The Functions.cs has a method with the following signature:



public async Task ProcessQueueMessageAsync([QueueTrigger("operations")] CloudQueueMessage incomingMessage, TextWriter log)


...scm.azurewebsites.net/azurejobs/#/jobs/continuous/SubmissionJob shows



Continuous WebJob Details SubmissionJob
Running
Run command: run.cmd


But there's no list of function invocations below it, and the job remains permanently in a Running state. If I go to the 'Functions' link in Kudu, it says there are no functions/function invocations to display.



Any thoughts?



The bulk of this worked fine in Framework 4.7, though the app builder was clearly different.










share|improve this question





























    3















    We have an Azure WebJob (3.x) running under an API App in Azure, all Core 2.1. It publishes fine, and runs, but doesn't show any Functions or list the Function Invocations on the dashboard. Which is odd, because the console output for the job does show it detecting a function:



    [10/17/2018 09:26:19 > fa7c81: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
    [10/17/2018 09:26:19 > fa7c81: SYS INFO] Status changed to Running
    [10/17/2018 09:26:19 > fa7c81: INFO]
    [10/17/2018 09:26:19 > fa7c81: INFO] D:localTempjobscontinuousSubmissionJob43ucb4rv.ipc>dotnet SubmissionJob.dll
    [10/17/2018 09:26:21 > fa7c81: INFO] dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
    [10/17/2018 09:26:21 > fa7c81: INFO] Hosting starting
    [10/17/2018 09:26:21 > fa7c81: INFO] info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
    [10/17/2018 09:26:21 > fa7c81: INFO] Starting JobHost
    [10/17/2018 09:26:21 > fa7c81: INFO] info: Host.Startup[0]
    [10/17/2018 09:26:21 > fa7c81: INFO] Found the following functions:
    [10/17/2018 09:26:21 > fa7c81: INFO] SubmissionJob.Functions.ProcessQueueMessageAsync
    [10/17/2018 09:26:21 > fa7c81: INFO]
    [10/17/2018 09:26:21 > fa7c81: INFO] Application started. Press Ctrl+C to shut down.
    [10/17/2018 09:26:21 > fa7c81: INFO] Hosting environment: QA


    The Program.cs Program class looks like this:



    public static async Task Main(string args)
    {
    var builder = new HostBuilder()
    .UseEnvironment(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))
    .ConfigureWebJobs(b =>
    {
    b.AddAzureStorageCoreServices()
    .AddAzureStorage()
    .AddServiceBus()
    .AddEventHubs();
    })
    .ConfigureAppConfiguration(b =>
    {
    // Adding command line as a configuration source
    b.AddCommandLine(args);
    })
    .ConfigureLogging((context, b) =>
    {
    b.SetMinimumLevel(LogLevel.Debug);
    b.AddConsole();

    // If this key exists in any config, use it to enable App Insights
    var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
    if (!string.IsNullOrEmpty(appInsightsKey))
    {
    b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
    }
    })
    .ConfigureServices((context, services) =>
    {
    services.AddAutoMapper();

    services.AddMemoryCache();

    services.AddDbContext<SubmissionsDbContext>(opts =>
    opts.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));

    // cloud services
    services.AddTransient(s =>
    CloudStorageAccount.Parse(
    context.Configuration.GetConnectionString("AzureQueueConnectionString")));
    services.AddTransient<IBlobReadService, AzureBlobReadService>();
    services.AddSingleton<IBlobWriteService, AzureBlobWriteService>();
    services.AddSingleton<IQueueWriteService, AzureQueueWriteService>();

    // submission services
    services.AddScoped<ISubmissionStatusService, SubmissionStatusService>();

    services.AddSingleton<Functions, Functions>();

    // job activator, required in webjobs sdk 3+
    services.AddSingleton<IJobActivator>(new WebJobsActivator(services.BuildServiceProvider()));
    })
    .UseConsoleLifetime();;

    var host = builder.Build();
    using (host)
    {
    await host.RunAsync();
    }
    }


    The Functions.cs has a method with the following signature:



    public async Task ProcessQueueMessageAsync([QueueTrigger("operations")] CloudQueueMessage incomingMessage, TextWriter log)


    ...scm.azurewebsites.net/azurejobs/#/jobs/continuous/SubmissionJob shows



    Continuous WebJob Details SubmissionJob
    Running
    Run command: run.cmd


    But there's no list of function invocations below it, and the job remains permanently in a Running state. If I go to the 'Functions' link in Kudu, it says there are no functions/function invocations to display.



    Any thoughts?



    The bulk of this worked fine in Framework 4.7, though the app builder was clearly different.










    share|improve this question

























      3












      3








      3








      We have an Azure WebJob (3.x) running under an API App in Azure, all Core 2.1. It publishes fine, and runs, but doesn't show any Functions or list the Function Invocations on the dashboard. Which is odd, because the console output for the job does show it detecting a function:



      [10/17/2018 09:26:19 > fa7c81: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
      [10/17/2018 09:26:19 > fa7c81: SYS INFO] Status changed to Running
      [10/17/2018 09:26:19 > fa7c81: INFO]
      [10/17/2018 09:26:19 > fa7c81: INFO] D:localTempjobscontinuousSubmissionJob43ucb4rv.ipc>dotnet SubmissionJob.dll
      [10/17/2018 09:26:21 > fa7c81: INFO] dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      [10/17/2018 09:26:21 > fa7c81: INFO] Hosting starting
      [10/17/2018 09:26:21 > fa7c81: INFO] info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
      [10/17/2018 09:26:21 > fa7c81: INFO] Starting JobHost
      [10/17/2018 09:26:21 > fa7c81: INFO] info: Host.Startup[0]
      [10/17/2018 09:26:21 > fa7c81: INFO] Found the following functions:
      [10/17/2018 09:26:21 > fa7c81: INFO] SubmissionJob.Functions.ProcessQueueMessageAsync
      [10/17/2018 09:26:21 > fa7c81: INFO]
      [10/17/2018 09:26:21 > fa7c81: INFO] Application started. Press Ctrl+C to shut down.
      [10/17/2018 09:26:21 > fa7c81: INFO] Hosting environment: QA


      The Program.cs Program class looks like this:



      public static async Task Main(string args)
      {
      var builder = new HostBuilder()
      .UseEnvironment(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))
      .ConfigureWebJobs(b =>
      {
      b.AddAzureStorageCoreServices()
      .AddAzureStorage()
      .AddServiceBus()
      .AddEventHubs();
      })
      .ConfigureAppConfiguration(b =>
      {
      // Adding command line as a configuration source
      b.AddCommandLine(args);
      })
      .ConfigureLogging((context, b) =>
      {
      b.SetMinimumLevel(LogLevel.Debug);
      b.AddConsole();

      // If this key exists in any config, use it to enable App Insights
      var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
      if (!string.IsNullOrEmpty(appInsightsKey))
      {
      b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
      }
      })
      .ConfigureServices((context, services) =>
      {
      services.AddAutoMapper();

      services.AddMemoryCache();

      services.AddDbContext<SubmissionsDbContext>(opts =>
      opts.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));

      // cloud services
      services.AddTransient(s =>
      CloudStorageAccount.Parse(
      context.Configuration.GetConnectionString("AzureQueueConnectionString")));
      services.AddTransient<IBlobReadService, AzureBlobReadService>();
      services.AddSingleton<IBlobWriteService, AzureBlobWriteService>();
      services.AddSingleton<IQueueWriteService, AzureQueueWriteService>();

      // submission services
      services.AddScoped<ISubmissionStatusService, SubmissionStatusService>();

      services.AddSingleton<Functions, Functions>();

      // job activator, required in webjobs sdk 3+
      services.AddSingleton<IJobActivator>(new WebJobsActivator(services.BuildServiceProvider()));
      })
      .UseConsoleLifetime();;

      var host = builder.Build();
      using (host)
      {
      await host.RunAsync();
      }
      }


      The Functions.cs has a method with the following signature:



      public async Task ProcessQueueMessageAsync([QueueTrigger("operations")] CloudQueueMessage incomingMessage, TextWriter log)


      ...scm.azurewebsites.net/azurejobs/#/jobs/continuous/SubmissionJob shows



      Continuous WebJob Details SubmissionJob
      Running
      Run command: run.cmd


      But there's no list of function invocations below it, and the job remains permanently in a Running state. If I go to the 'Functions' link in Kudu, it says there are no functions/function invocations to display.



      Any thoughts?



      The bulk of this worked fine in Framework 4.7, though the app builder was clearly different.










      share|improve this question














      We have an Azure WebJob (3.x) running under an API App in Azure, all Core 2.1. It publishes fine, and runs, but doesn't show any Functions or list the Function Invocations on the dashboard. Which is odd, because the console output for the job does show it detecting a function:



      [10/17/2018 09:26:19 > fa7c81: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
      [10/17/2018 09:26:19 > fa7c81: SYS INFO] Status changed to Running
      [10/17/2018 09:26:19 > fa7c81: INFO]
      [10/17/2018 09:26:19 > fa7c81: INFO] D:localTempjobscontinuousSubmissionJob43ucb4rv.ipc>dotnet SubmissionJob.dll
      [10/17/2018 09:26:21 > fa7c81: INFO] dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      [10/17/2018 09:26:21 > fa7c81: INFO] Hosting starting
      [10/17/2018 09:26:21 > fa7c81: INFO] info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
      [10/17/2018 09:26:21 > fa7c81: INFO] Starting JobHost
      [10/17/2018 09:26:21 > fa7c81: INFO] info: Host.Startup[0]
      [10/17/2018 09:26:21 > fa7c81: INFO] Found the following functions:
      [10/17/2018 09:26:21 > fa7c81: INFO] SubmissionJob.Functions.ProcessQueueMessageAsync
      [10/17/2018 09:26:21 > fa7c81: INFO]
      [10/17/2018 09:26:21 > fa7c81: INFO] Application started. Press Ctrl+C to shut down.
      [10/17/2018 09:26:21 > fa7c81: INFO] Hosting environment: QA


      The Program.cs Program class looks like this:



      public static async Task Main(string args)
      {
      var builder = new HostBuilder()
      .UseEnvironment(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))
      .ConfigureWebJobs(b =>
      {
      b.AddAzureStorageCoreServices()
      .AddAzureStorage()
      .AddServiceBus()
      .AddEventHubs();
      })
      .ConfigureAppConfiguration(b =>
      {
      // Adding command line as a configuration source
      b.AddCommandLine(args);
      })
      .ConfigureLogging((context, b) =>
      {
      b.SetMinimumLevel(LogLevel.Debug);
      b.AddConsole();

      // If this key exists in any config, use it to enable App Insights
      var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
      if (!string.IsNullOrEmpty(appInsightsKey))
      {
      b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
      }
      })
      .ConfigureServices((context, services) =>
      {
      services.AddAutoMapper();

      services.AddMemoryCache();

      services.AddDbContext<SubmissionsDbContext>(opts =>
      opts.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));

      // cloud services
      services.AddTransient(s =>
      CloudStorageAccount.Parse(
      context.Configuration.GetConnectionString("AzureQueueConnectionString")));
      services.AddTransient<IBlobReadService, AzureBlobReadService>();
      services.AddSingleton<IBlobWriteService, AzureBlobWriteService>();
      services.AddSingleton<IQueueWriteService, AzureQueueWriteService>();

      // submission services
      services.AddScoped<ISubmissionStatusService, SubmissionStatusService>();

      services.AddSingleton<Functions, Functions>();

      // job activator, required in webjobs sdk 3+
      services.AddSingleton<IJobActivator>(new WebJobsActivator(services.BuildServiceProvider()));
      })
      .UseConsoleLifetime();;

      var host = builder.Build();
      using (host)
      {
      await host.RunAsync();
      }
      }


      The Functions.cs has a method with the following signature:



      public async Task ProcessQueueMessageAsync([QueueTrigger("operations")] CloudQueueMessage incomingMessage, TextWriter log)


      ...scm.azurewebsites.net/azurejobs/#/jobs/continuous/SubmissionJob shows



      Continuous WebJob Details SubmissionJob
      Running
      Run command: run.cmd


      But there's no list of function invocations below it, and the job remains permanently in a Running state. If I go to the 'Functions' link in Kudu, it says there are no functions/function invocations to display.



      Any thoughts?



      The bulk of this worked fine in Framework 4.7, though the app builder was clearly different.







      c# azure .net-core azure-webjobs azure-webjobssdk






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Oct 17 '18 at 14:44









      Matt StylesMatt Styles

      366111




      366111
























          3 Answers
          3






          active

          oldest

          votes


















          1














          The answer to this is twofold.



          You can write to the Kudu Dashboard with



          var builder = new HostBuilder()
          .ConfigureWebJobs(b =>
          {
          b.AddDashboardLogging();
          });


          This will work and show function invocations for WebJobs 1.x, 2.x. However, from WebJobs SDK 3.x onwards, this is obsolete. The console output will continue to show in Kudu Dashboard, but functions will not be detected and won't be displayed, nor their invocations. Application Insights is recommended instead.



          var builder = new HostBuilder()
          .ConfigureLogging((context, b) =>
          {
          b.SetMinimumLevel(LogLevel.Debug);
          b.AddConsole();

          // If this key exists in any config, use it to enable App Insights.
          // This may already be configured in Azure Portal if running WebJob udner existing app with App Insights.
          var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
          if (!string.IsNullOrEmpty(appInsightsKey))
          {
          b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
          }
          });


          Make sure that you have configured a connection string named AzureWebJobsStorage with a storage connection string.



          See also: https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration



          And: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#add-application-insights-logging






          share|improve this answer
























          • Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

            – Fabio Cavalcante
            Oct 18 '18 at 20:58











          • Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

            – Fabio Cavalcante
            Oct 18 '18 at 20:59











          • Does that mean that the Kudu dashboard for Webjobs is now obsolete?

            – Métoule
            Jan 16 at 12:14



















          0














          The dashboard logging is not enabled by default.



          To enable that feature, please call the AddDashboardLogging extension method on the webjobs builder instance you're configuring






          share|improve this answer



















          • 1





            See also this related issue

            – David Ebbo
            Oct 17 '18 at 17:03



















          -1














          Have you have missed below code



          Functions is the name of the function class.



           .ConfigureServices((hostBuilderContext, services) =>
          {
          services.AddScoped<Functions, Functions>();
          })


          I think this should work.






          share|improve this answer
























          • No. I have registered the Functions class as a Singleton service in the code I posted.

            – Matt Styles
            Jan 3 at 7:30











          • I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

            – Ashwinee Vaishampayan
            Jan 4 at 8:48











          • No. This was posted months ago and I'm just using App Insights now.

            – Matt Styles
            Jan 5 at 5:31












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52857635%2fazure-webjobs-3-x-continuous-job-not-showing-functions-in-dashboard%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          3 Answers
          3






          active

          oldest

          votes








          3 Answers
          3






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          The answer to this is twofold.



          You can write to the Kudu Dashboard with



          var builder = new HostBuilder()
          .ConfigureWebJobs(b =>
          {
          b.AddDashboardLogging();
          });


          This will work and show function invocations for WebJobs 1.x, 2.x. However, from WebJobs SDK 3.x onwards, this is obsolete. The console output will continue to show in Kudu Dashboard, but functions will not be detected and won't be displayed, nor their invocations. Application Insights is recommended instead.



          var builder = new HostBuilder()
          .ConfigureLogging((context, b) =>
          {
          b.SetMinimumLevel(LogLevel.Debug);
          b.AddConsole();

          // If this key exists in any config, use it to enable App Insights.
          // This may already be configured in Azure Portal if running WebJob udner existing app with App Insights.
          var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
          if (!string.IsNullOrEmpty(appInsightsKey))
          {
          b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
          }
          });


          Make sure that you have configured a connection string named AzureWebJobsStorage with a storage connection string.



          See also: https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration



          And: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#add-application-insights-logging






          share|improve this answer
























          • Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

            – Fabio Cavalcante
            Oct 18 '18 at 20:58











          • Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

            – Fabio Cavalcante
            Oct 18 '18 at 20:59











          • Does that mean that the Kudu dashboard for Webjobs is now obsolete?

            – Métoule
            Jan 16 at 12:14
















          1














          The answer to this is twofold.



          You can write to the Kudu Dashboard with



          var builder = new HostBuilder()
          .ConfigureWebJobs(b =>
          {
          b.AddDashboardLogging();
          });


          This will work and show function invocations for WebJobs 1.x, 2.x. However, from WebJobs SDK 3.x onwards, this is obsolete. The console output will continue to show in Kudu Dashboard, but functions will not be detected and won't be displayed, nor their invocations. Application Insights is recommended instead.



          var builder = new HostBuilder()
          .ConfigureLogging((context, b) =>
          {
          b.SetMinimumLevel(LogLevel.Debug);
          b.AddConsole();

          // If this key exists in any config, use it to enable App Insights.
          // This may already be configured in Azure Portal if running WebJob udner existing app with App Insights.
          var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
          if (!string.IsNullOrEmpty(appInsightsKey))
          {
          b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
          }
          });


          Make sure that you have configured a connection string named AzureWebJobsStorage with a storage connection string.



          See also: https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration



          And: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#add-application-insights-logging






          share|improve this answer
























          • Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

            – Fabio Cavalcante
            Oct 18 '18 at 20:58











          • Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

            – Fabio Cavalcante
            Oct 18 '18 at 20:59











          • Does that mean that the Kudu dashboard for Webjobs is now obsolete?

            – Métoule
            Jan 16 at 12:14














          1












          1








          1







          The answer to this is twofold.



          You can write to the Kudu Dashboard with



          var builder = new HostBuilder()
          .ConfigureWebJobs(b =>
          {
          b.AddDashboardLogging();
          });


          This will work and show function invocations for WebJobs 1.x, 2.x. However, from WebJobs SDK 3.x onwards, this is obsolete. The console output will continue to show in Kudu Dashboard, but functions will not be detected and won't be displayed, nor their invocations. Application Insights is recommended instead.



          var builder = new HostBuilder()
          .ConfigureLogging((context, b) =>
          {
          b.SetMinimumLevel(LogLevel.Debug);
          b.AddConsole();

          // If this key exists in any config, use it to enable App Insights.
          // This may already be configured in Azure Portal if running WebJob udner existing app with App Insights.
          var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
          if (!string.IsNullOrEmpty(appInsightsKey))
          {
          b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
          }
          });


          Make sure that you have configured a connection string named AzureWebJobsStorage with a storage connection string.



          See also: https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration



          And: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#add-application-insights-logging






          share|improve this answer













          The answer to this is twofold.



          You can write to the Kudu Dashboard with



          var builder = new HostBuilder()
          .ConfigureWebJobs(b =>
          {
          b.AddDashboardLogging();
          });


          This will work and show function invocations for WebJobs 1.x, 2.x. However, from WebJobs SDK 3.x onwards, this is obsolete. The console output will continue to show in Kudu Dashboard, but functions will not be detected and won't be displayed, nor their invocations. Application Insights is recommended instead.



          var builder = new HostBuilder()
          .ConfigureLogging((context, b) =>
          {
          b.SetMinimumLevel(LogLevel.Debug);
          b.AddConsole();

          // If this key exists in any config, use it to enable App Insights.
          // This may already be configured in Azure Portal if running WebJob udner existing app with App Insights.
          var appInsightsKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
          if (!string.IsNullOrEmpty(appInsightsKey))
          {
          b.AddApplicationInsights(o => o.InstrumentationKey = appInsightsKey);
          }
          });


          Make sure that you have configured a connection string named AzureWebJobsStorage with a storage connection string.



          See also: https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration



          And: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#add-application-insights-logging







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Oct 18 '18 at 9:00









          Matt StylesMatt Styles

          366111




          366111













          • Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

            – Fabio Cavalcante
            Oct 18 '18 at 20:58











          • Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

            – Fabio Cavalcante
            Oct 18 '18 at 20:59











          • Does that mean that the Kudu dashboard for Webjobs is now obsolete?

            – Métoule
            Jan 16 at 12:14



















          • Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

            – Fabio Cavalcante
            Oct 18 '18 at 20:58











          • Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

            – Fabio Cavalcante
            Oct 18 '18 at 20:59











          • Does that mean that the Kudu dashboard for Webjobs is now obsolete?

            – Métoule
            Jan 16 at 12:14

















          Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

          – Fabio Cavalcante
          Oct 18 '18 at 20:58





          Yes, the functionality was obsoleted in 3.x, but the behavior is the same. Functions should be detected and displayed, so if you're not seeing that, please open an issue at github.com/azure/azure-webjobs-sdk . Application Insights is indeed the recommendation moving forward, and the reason why this was obsoleted.

          – Fabio Cavalcante
          Oct 18 '18 at 20:58













          Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

          – Fabio Cavalcante
          Oct 18 '18 at 20:59





          Also, the extension and configuration is different prior to 3.x, so that method doesn't apply in those cases.

          – Fabio Cavalcante
          Oct 18 '18 at 20:59













          Does that mean that the Kudu dashboard for Webjobs is now obsolete?

          – Métoule
          Jan 16 at 12:14





          Does that mean that the Kudu dashboard for Webjobs is now obsolete?

          – Métoule
          Jan 16 at 12:14













          0














          The dashboard logging is not enabled by default.



          To enable that feature, please call the AddDashboardLogging extension method on the webjobs builder instance you're configuring






          share|improve this answer



















          • 1





            See also this related issue

            – David Ebbo
            Oct 17 '18 at 17:03
















          0














          The dashboard logging is not enabled by default.



          To enable that feature, please call the AddDashboardLogging extension method on the webjobs builder instance you're configuring






          share|improve this answer



















          • 1





            See also this related issue

            – David Ebbo
            Oct 17 '18 at 17:03














          0












          0








          0







          The dashboard logging is not enabled by default.



          To enable that feature, please call the AddDashboardLogging extension method on the webjobs builder instance you're configuring






          share|improve this answer













          The dashboard logging is not enabled by default.



          To enable that feature, please call the AddDashboardLogging extension method on the webjobs builder instance you're configuring







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Oct 17 '18 at 16:30









          Fabio CavalcanteFabio Cavalcante

          9,21122435




          9,21122435








          • 1





            See also this related issue

            – David Ebbo
            Oct 17 '18 at 17:03














          • 1





            See also this related issue

            – David Ebbo
            Oct 17 '18 at 17:03








          1




          1





          See also this related issue

          – David Ebbo
          Oct 17 '18 at 17:03





          See also this related issue

          – David Ebbo
          Oct 17 '18 at 17:03











          -1














          Have you have missed below code



          Functions is the name of the function class.



           .ConfigureServices((hostBuilderContext, services) =>
          {
          services.AddScoped<Functions, Functions>();
          })


          I think this should work.






          share|improve this answer
























          • No. I have registered the Functions class as a Singleton service in the code I posted.

            – Matt Styles
            Jan 3 at 7:30











          • I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

            – Ashwinee Vaishampayan
            Jan 4 at 8:48











          • No. This was posted months ago and I'm just using App Insights now.

            – Matt Styles
            Jan 5 at 5:31
















          -1














          Have you have missed below code



          Functions is the name of the function class.



           .ConfigureServices((hostBuilderContext, services) =>
          {
          services.AddScoped<Functions, Functions>();
          })


          I think this should work.






          share|improve this answer
























          • No. I have registered the Functions class as a Singleton service in the code I posted.

            – Matt Styles
            Jan 3 at 7:30











          • I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

            – Ashwinee Vaishampayan
            Jan 4 at 8:48











          • No. This was posted months ago and I'm just using App Insights now.

            – Matt Styles
            Jan 5 at 5:31














          -1












          -1








          -1







          Have you have missed below code



          Functions is the name of the function class.



           .ConfigureServices((hostBuilderContext, services) =>
          {
          services.AddScoped<Functions, Functions>();
          })


          I think this should work.






          share|improve this answer













          Have you have missed below code



          Functions is the name of the function class.



           .ConfigureServices((hostBuilderContext, services) =>
          {
          services.AddScoped<Functions, Functions>();
          })


          I think this should work.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 3 at 3:09









          Ashwinee VaishampayanAshwinee Vaishampayan

          138




          138













          • No. I have registered the Functions class as a Singleton service in the code I posted.

            – Matt Styles
            Jan 3 at 7:30











          • I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

            – Ashwinee Vaishampayan
            Jan 4 at 8:48











          • No. This was posted months ago and I'm just using App Insights now.

            – Matt Styles
            Jan 5 at 5:31



















          • No. I have registered the Functions class as a Singleton service in the code I posted.

            – Matt Styles
            Jan 3 at 7:30











          • I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

            – Ashwinee Vaishampayan
            Jan 4 at 8:48











          • No. This was posted months ago and I'm just using App Insights now.

            – Matt Styles
            Jan 5 at 5:31

















          No. I have registered the Functions class as a Singleton service in the code I posted.

          – Matt Styles
          Jan 3 at 7:30





          No. I have registered the Functions class as a Singleton service in the code I posted.

          – Matt Styles
          Jan 3 at 7:30













          I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

          – Ashwinee Vaishampayan
          Jan 4 at 8:48





          I had created a timer trigger and was working for me.Can you create a timer trigger and check if its getting triggered.

          – Ashwinee Vaishampayan
          Jan 4 at 8:48













          No. This was posted months ago and I'm just using App Insights now.

          – Matt Styles
          Jan 5 at 5:31





          No. This was posted months ago and I'm just using App Insights now.

          – Matt Styles
          Jan 5 at 5:31


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52857635%2fazure-webjobs-3-x-continuous-job-not-showing-functions-in-dashboard%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          Npm cannot find a required file even through it is in the searched directory

          How to fix TextFormField cause rebuild widget in Flutter