2017-08-16 4 views
2

Wir bauen einen Bot mit dem MS Bot Framework. Manchmal, wenn der Bot nicht verwendet wird, dauert es zu viel Zeit, um zu antworten, und wir erhalten einen [500] Interner Serverfehler. Wir sehen dieses Problem, wenn wir versuchen, auf den Bot in unserer App zuzugreifen (wir verwenden Direct Line, um mit dem Bot zu interagieren).Den Bot am Leben halten

Ich habe andere Antworten lesen Sie dafür, dass die Microsoft Azure für Anwendungsaktivität Einstellung wird auf „Always On“, und wir haben dies getan. Aber da Always on die Wurzel unserer Bot-Web-App anpingt, denke ich, dass es nicht genug sein kann, um den Bot/Directline am Leben zu erhalten ...

Und ich habe keine Umschreibungsregeln von http zu https, die das verhindern ping Anfrage um erfolgreich zu sein ..

Hat jemand dieses Problem?

UPDATE eine bestimmte Frage stellen: Wie können wir sicherstellen, dass unser bietet immer am Leben ist, wenn alle oben genannten Einstellungen funktionieren nicht erklärt? Sollten wir unseren Bot über das Directline-Framework anpingen?

+0

nicht sicher, warum meine Frage mit -1 abgelehnt wird ... Müssen wir die Referenz von jedem Artikel, den wir angeschaut haben, setzen, bevor wir eine Frage stellen? – ben

+2

Sie stellen keine spezifische Frage zu einem bestimmten Problem und Sie zeigen keinen Code oder Informationen an, die Ihnen bei der Lösung Ihres Problems helfen könnten. https://stackoverflow.com/help Wenn jemand dieses Problem hat, ist es offen und nicht erlaubt. Lass uns nicht raten, was du tust. – Rob

+0

ok, danke! Ich habe meine Frage mit Ihrer Empfehlung aktualisiert. – ben

Antwort

0

Eine Möglichkeit wäre, alle 15 Minuten einen Ping zu senden. Der Standardcode gibt Ihnen sogar einen Ort, um den Ping im Nachricht Controller

else if (message.Type == ActivityTypes.Ping) 
{ 

} 

bitte nehmen Sie auch einen Blick auf this post zu behandeln, wie es für Sie arbeiten kann und eine sehr einfache Lösung ohne Code.

+0

Der Link, auf den Sie sich beziehen, handelt von Always On und wir haben das bereits implementiert. Die bot azure-Website bleibt mit dieser Funktion am Leben, aber sie verhindert nicht, dass der Bot nach einer gewissen Inaktivitätsphase nicht mehr reagiert ... – ben

+0

Und ich glaube, um ein Ping an den Bot zu senden, müssen Sie eine Konversation führen ... Sie müssen also eine aktive Konversation führen, um dies tun zu können. Dies ist ein Problem, wenn Sie dies über den Azure-Scheduler tun möchten (z. B. Azure-Funktion). – ben

0

Ich hatte eine azur Funktion zu erstellen, die meinen Dienst Pings, wie ich dieses gleiche Problem wurde. Ich habe Always On für alle meine Dienste und finde immer noch, dass der Bot schlafen geht. Mit dem Ping-Dienst wird eine neue Konversation eingerichtet, die Äußerung gesendet und nach dem Empfang der Antwort geschlossen. Das scheint zu funktionieren, aber es dauert nur eine Woche. Beachten Sie, ich pinge alle fünf Minuten an.

Verwandte Themen