Mam kolejkę Autobus wahadłowy w Azure i funkcję kolejka wyzwalania Autobus wahadłowy. Kiedy po raz pierwszy publikuję funkcję i wysyłam komunikat do kolejki magistrali usług, ta funkcja jest wyzwalana i działa poprawnie.Azure funkcja wyzwalania kolejka autobus usługa nie podnosząc moją wiadomość w kolejce po uruchomieniu na chwilę
Ale gdybym zostawić ją w spokoju i nie wysyła żadnych wiadomości do kolejki powiedzmy ~ 1 godzinę, a następnie wysłać wiadomość funkcja nie zostanie uruchomiony. Muszę ręcznie uruchomić funkcję ponownie w portalu, naciskając "uruchom" lub muszę ponownie opublikować ją na platformie Azure.
Jak mogę utrzymać go w ruchu, więc nie trzeba go ponownie uruchomić co godzinę lub tak ??? Moja aplikacja może nie wysłać nową wiadomość do kolejki na kilka godzin lub nawet dni.
FYI - Czytam , że funkcja wyłącza się po 5 minutach, nie mogę korzystać z funkcji, jeśli tak jest i nie chcę używać wyzwalacza zegarowego, ponieważ wtedy uruchomiłbym funkcję więcej wtedy chciałbym, marnując pieniądze! Dobrze? Jeśli moim jedynym, najlepszym wyborem jest tutaj, aby uruchomić funkcję timera co 30 minut w ciągu dnia może po prostu muszę ssać go i zrobić to w ten sposób, ale wolałbym mieć przebieg funkcji, gdy wiadomość uderza kolejka wiadomości.
FYI2 - ostatecznie chcę ukryć wiadomość do określonej daty, kiedy najpierw popchnę ją do kolejki (np. Co staram się osiągnąć? Chcę wysłać wiadomość e-mail do zarejestrowanych uczniów po zakończeniu zajęć, a zajęcia mogą być zaplanowane na 1-30 dni wcześniej. Więc gdy klasa jest planowane nie chcę funkcja uruchomić dopiero po zakończeniu klasy, który może być 1 tydzień, 2 tygodnie 2 dni, 3 tygodnie 3 dni, etc po klasa jest wstępnie zaplanowane w mojej aplikacji.
Oto urywek z function.json
{
"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
"configurationSource": "attributes",
"bindings": [
{
"type": "serviceBusTrigger",
"connection": "Yogabandy2017_RootManageSharedAccessKey_SERVICEBUS",
"queueName": "yogabandy2017",
"accessRights": "listen",
"name": "myQueueItem"
}
],
"disabled": false,
"scriptFile": "..\\bin\\PostEventEmailFunction.dll",
"entryPoint": "PostEventEmailFunction.Function1.Run"
}
Oto funkcja
public static class Function1
{
[FunctionName("Function1")]
public static void Run([ServiceBusTrigger("yogabandy2017", AccessRights.Listen, Connection = "Yogabandy2017_RootManageSharedAccessKey_SERVICEBUS")]string myQueueItem, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
}
Zostałem poproszony aby umieścić mój plan płatności
Dlaczego ciągle tworzysz nowe pytania bardzo podobne do poprzednich, nie odpowiadając na żadne odpowiedzi? – Mikhail
cóż, mogą być podobne, ale nie są takie same! – user1186050
Czy próbowałeś dać funkcji ZARZĄDZAĆ prawom w kolejce? ("accessRights": "manage") Wiem, że w przeszłości były pewne problemy, w których tylko uprawnienie do słuchania oszukało tę funkcję w myśleniu, że nie miało to nic wspólnego ... – Niels