Comment faire azure webjob fonctionner en continu et d'appeler le public static function sans déclenchement automatique
Je suis en train d'élaborer un azure webjob qui doit s'exécuter en continu. J'ai un public static function. Je veux que cette fonction soit déclenchée automatiquement sans aucune file d'attente. Droit maintenant, je suis en utilisant while(true) pour fonctionner en permanence. Est-il un autre moyen pour ce faire?
Veuillez trouver ci-dessous mon code
static void Main()
{
var host = new JobHost();
host.Call(typeof(Functions).GetMethod("ProcessMethod"));
//The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
[NoAutomaticTriggerAttribute]
public static void ProcessMethod(TextWriter log)
{
while (true)
{
try
{
log.WriteLine("There are {0} pending requests", pendings.Count);
}
catch (Exception ex)
{
log.WriteLine("Error occurred in processing pending altapay requests. Error : {0}", ex.Message);
}
Thread.Sleep(TimeSpan.FromMinutes(3));
}
}
Grâce
- Vous pouvez le mettre sur un programme qui s'exécute toutes les 3 minutes.
- Vous n'avez pas besoin de toute la JobHost chose que vous avez là, vous pouvez simplement appeler ProcessMethod du Principal et de l'utilisation de la Console.WriteLine pour vous connecter.
- Salut, j'ai juste montré un exemple simple en ProcessMethod pour vous connecter. Autres que l'exploitation forestière, la ProcessMethod n'a d'autres processus d'ie. l'appel de la base de données, mise à jour de la table sql , etc.,
Vous devez vous connecter pour publier un commentaire.
Ces étapes, vous obtiendrez ce que vous voulez:
Je me suis converti votre code afin de refléter les étapes ci-dessous.
De l'utilisation de Microsoft.Azure.WebJobs.Extensions.Minuteries, voir https://github.com/Azure/azure-webjobs-sdk-extensions/blob/master/src/ExtensionsSample/Samples/TimerSamples.cs pour créer un déclencheur qui utilise une plage de Temps ou Crontab instruction à feu de la méthode.
Ajouter Microsoft.Azure.WebJobs.Extensions.Minuteries de NuGet à votre projet.
devient
pour cinq minutes de déclencheurs (à l'aide de plage de Temps (string)
Vous devrez vous assurer que votre Programme.cs Principaux ensembles de la config à utiliser les minuteries comme suit: