TimerTrigger v C# nespouští

0

Otázka

Já používám TimerTrigger má úloha naplánovat úkol na 2 dny, ale kohoutek nefunguje. Následující je kód, který jsem se snažil,

public static void StartupJob([TimerTrigger("0 * * * * *", RunOnStartup = true)] TimerInfo timerInfo) //0 * * * * * added CRON job to run for every minute for testing purpose
        {
            Console.WriteLine("Timer job fired!");
        }

místní.nastavení.json

{
    "IsEncrypted": false,
    "Values": {
      "AzureWebJobsStorage": "UseDevelopmentStorage=true",
      "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

Jako výše uvedený kód nefunguje, jsem přidal následující main()

static void Main()
        {
            var config = new JobHostConfiguration();
            config.UseTimers();
            config.Tracing.ConsoleLevel = System.Diagnostics.TraceLevel.Verbose;

            if (config.IsDevelopment)
            {
                config.UseDevelopmentSettings();
            }

            var host = new JobHost(config);
            // The following code ensures that the WebJob will be running continuously
            host.RunAndBlock();
        }

Dostat následující chybu a ukazuje, jak opravit instalaci DocumentFormat balíček, ale instalace tohoto balíčku není řešení FunctionName chyba.

enter image description here

Jsem nováček na C# a nemohl najít to, co je problém tady. Jakoukoliv pomoc nebo odkaz na dobré příklady by bylo užitečné a ocenil.

Děkuji.

azure-functions azure-webjobs c# cron
2021-11-14 18:01:13
1

Nejlepší odpověď

0

Snažil jsem se reprodukovat váš problém a na to přišel.

  1. Za prvé, vytvořil jsem Azure Funkce v aplikaci Visual Studio a Vybrané Časovač Trigger > Klikněte na vytvořit enter image description here

  2. Dle vašeho požadavku spustit tento časovač spustí funkce v každé minutě, změnil jsem výraz [TimerTrigger("0 * * * * *")]

enter image description here

  1. Po tom, sestavení projektu a spuštění funkce místně. Výstup je:

enter image description here

  1. Vytvořené Funkce Aplikace v Azure (plán spotřeby).
  2. Zveřejněny výše uvedené funkce aplikace do Azure funkce aplikace visual studio.
  3. Pak, Přejít na Azure Portálu > Funkce aplikace > Funkce (v levém index podokno) > Klikněte na své jméno funkce (v mém případě to je Function1) enter image description here

Po tom, Jít do Code+Integrace, Klikněte na tlačítko Test/Spustit funkce a protokoly spustit protokolování výkonu funkce jako níže:

enter image description here

Příklad 2 (S danou kód v otázce):

enter image description here

enter image description here

Problém je, že Console.Writeline je statické funkce. Můžete přesměrovat jeho výstup (stdout) ještě někde jinde, ale nemůžu dohledat, kde že prohlášení bylo spustit z poté, co dosáhl stdout.

Aby pro nás za vyvolání Funkce protokolování, potřebujeme vědět, které funkce pochází a které konkrétní id vyvolání patří. To je to, co TraceWriter . Tam se naše protokolování motor trubek na to, aby Úložiště pro naše dashboard vyzvednout. My pipe stdout potrubí na WebJob protokoly, ale není to jednoduché svázat zpět do dané vyvolání.

Pro více informací, postupujte takto : https://github.com/Azure/azure-webjobs-sdk/issues/682

Další způsob, jak jeden může používat je na vlastní protokolování rámec (např. Serilog) a přímé log výstup do Konzole.

Další informace o protokolování vzorky, můžete postupujte podle níže odkaz :

https://docs.microsoft.com/en-us/sandbox/functions-recipes/logging?tabs=csharp

2021-11-16 12:23:17

Pokud publikováno odpověď pomohla, můžete označit ji jako odpověď kliknutím na značku zaškrtnutí. Pokud tak učiníte, může pomoci ostatních členů komunity.
HariKrishnaRajoli-MT

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................