Ich arbeite derzeit an einer Lösung, bei der ein Web-Job eine Service-Bus-Warteschlange überwacht. Dies funktioniert gut, aber es muss leicht anpassbar sein, um eine beliebige Anzahl von Warteschlangen zu verwalten, die nur eine Liste von Warteschlangen in der Konfiguration ändern.Azure WebJob verarbeitet mehrere Service-Bus-Warteschlangen, die in der Konfiguration festgelegt werden
Zur Zeit kann ich sehen, dass ich das tun kann:
public static void ProcessQueueMessage1([ServiceBusTrigger("queue1")] BrokeredMessage message, TextWriter log)
{
}
Und für eine andere Warteschlange würde ich brauche eine andere Methode hinzuzufügen:
public static void ProcessQueueMessage2([ServiceBusTrigger("queue2")] BrokeredMessage message, TextWriter log)
{
}
Natürlich, ich will keine hinzufügen neue Methode jedes Mal, wenn ich eine neue Warteschlange sehen muss.
Wie würde ich einen WebJob verwenden, um jede Warteschlange zu überwachen, deren Name sich in meiner Konfiguration befindet? Ich meine eine Liste der Warteschlangennamen nicht nur eine in der Konfig.
Zum Beispiel weiß, dass ich mir ein QueueNameResolver verwenden kann wie folgt vorgehen: will
public static void ProcessQueueMessage([ServiceBusTrigger("%nameInCofig%")] BrokeredMessage message, TextWriter log)
{}
Aber ich wirklich mit nur einem WebJob ProcessQueueMessage Verfahren eine Liste der Warteschlangennamen verarbeiten.
Ich habe seit Ewigkeiten gesucht und bin fast am Punkt der Verwendung einer WorkerRole stattdessen.
Jede Hilfe wäre großartig.
Warum müssen Sie alle Ihre Nachrichten auf die gleiche Weise verarbeiten? – Thomas