TimerTrigger în C# nu este de declanșare

0

Problema

Eu sunt, folosind TimerTrigger de locuri de muncă CRON pentru a programa o sarcină de 2 zile, dar de declanșare nu pare să funcționeze. Următoarele este codul care am încercat,

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!");
        }

locale.setări.json

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

Ca codul de mai sus nu a fost de lucru, am adăugat următoarele 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();
        }

Primesc urmatoarea eroare și arată fix ca pentru a instala DocumentFormat pachet, dar instalarea acestui pachet nu este rezolvarea FunctionName eroare.

enter image description here

Eu sunt un newbie la C# și în imposibilitatea de a găsi ceea ce este problema aici. Orice ajutor sau trimitere la exemple bune ar fi util și apreciat.

Multumesc.

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

Cel mai bun răspuns

0

Am incercat sa reproduc problema si-a dat seama.

  1. În primul rând, am creat Azure Funcție în Visual Studio și Selectat Timer Declanșa > faceți Clic pe creare enter image description here

  2. Ca pe dvs. cerință pentru a rula acest timer de declanșare a funcției în fiecare minut, mi-am schimbat expresia a [TimerTrigger("0 * * * * *")]

enter image description here

  1. După aceea, a construi proiectul și executați funcția la nivel local. De Ieșire este:

enter image description here

  1. Creat Funcția App în Azure (consumul de plan).
  2. Publicat funcția de mai sus app pentru Azure funcție de aplicație din visual studio.
  3. Apoi, Du-te la Azure Portal > Funcția aplicației > Funcții (în stânga index panou) > faceți Clic pe numele funcției (în cazul meu, este Function1) enter image description here

După aceea, Du-te la Codul+Integrare, faceți Clic pe Testare/Rula funcția și jurnalele vor începe de logare de la executarea funcției de mai jos:

enter image description here

Exemplul 2 (Cu codul de date în cauză):

enter image description here

enter image description here

Problema este că Console.Writeline este o funcție statică. Puteți redirecționa sale de ieșire (stdout) în altă parte, dar nu îl puteți urmări în cazul în care această declarație a fost condusă de după ce a ajuns la stdout.

Pentru ca noi să ne facem pe Funcția de invocare de logare, trebuie să știm care funcția a venit de la, și care anume invocarea id aparține. Aceasta este ceea ce TraceWriter nu. De acolo, exploatarea motorului conducte pentru Depozitare pentru tabloul de bord pentru a ridica. Facem țeavă stdout conducta de la WebJob busteni, dar nu e simplu să o leg de un anumit invocare.

Pentru mai multe informații, urmați : https://github.com/Azure/azure-webjobs-sdk/issues/682

Alt mod se poate folosi este de a custom logging cadru (de exemplu, Serilog) și jurnal directă de ieșire la Consolă.

Pentru mai multe informații despre exploatarea probe, aveți posibilitatea să urmați link-ul de mai jos :

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

2021-11-16 12:23:17

Dacă a postat răspunsul m-a ajutat, te poate marca ca răspunsul făcând clic pe bifă. Acest lucru poate ajuta alți membri ai comunității.
HariKrishnaRajoli-MT

În alte limbi

Această pagină este în alte limbi

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