Am încercat să implementez un bot pe Heroku de câteva zile fără succes. Botul meu are un server de acțiune găzduit pe o altă aplicație. Botul principal conține un Dockerfile cu conținutul de mai jos:
# din imaginea de bază rasa
FROM rasa/rasa:2.8.2-full
# copiați toată sursa și modelul generat de Rasa
COPIE . /app
# informează pe ce port va rula
EXPUNERE 5005
# script pentru a rula rasa core
COPIEAZĂ startup.sh /app/scripts/startup.sh
# script pentru a rula rasa shell
COPIEAZĂ shell.sh /app/scripts/shell.sh
rădăcină UTILIZATOR
RUN chmod a+x /app/scripts/startup.sh
RUN chmod a+x /app/scripts/shell.sh
WORKDIR /app
PUNCT DE INTRARE []
ENV shell_mode false
# script de lansare (rasa shell sau rasa run)
CMD sh -c 'if [ "$shell_mode" = false ]; apoi /app/scripts/startup.sh; else /app/scripts/shell.sh; fi'
După ce am împins acest container pe Heroku, primesc în continuare următorul jurnal:
2021-08-08T05:05:19.003044+00:00 heroku[web.1]: Începe procesul cu comanda `/bin/bash -o pipefail -c sh\ -c\ \'if\ \[\ \"\false \"\ \=\ false\ \]\;\ apoi\ /app/scripts/startup.sh\;\ else\ \ /app/scripts/shell.sh\;\ fi\'`
2021-08-08T05:05:22.624829+00:00 aplicație[web.1]: PORT 56161
2021-08-08T05:05:28.172219+00:00 app[web.1]: 2021-08-08 05:05:28 INFO root - Pornirea serverului Rasa pe http://localhost:56161
2021-08-08T05:05:28.198725+00:00 app[web.1]: 2021-08-08 05:05:28 INFO rasa.model - Se încarcă modelele model/20210807-142446.tar.gz...
2021-08-08T05:06:19.182952+00:00 heroku[web.1]: Eroare R10 (Timeout de pornire) -> Procesul web nu s-a conectat la $PORT în 60 de secunde de la lansare
2021-08-08T05:06:19.237369+00:00 heroku[web.1]: Oprirea procesului cu SIGKILL
2021-08-08T05:06:19.401953+00:00 heroku[web.1]: Proces ieșit cu starea 137
2021-08-08T05:06:19.707060+00:00 heroku[web.1]: starea s-a schimbat de la început la blocat
Ale mele pornire.sh
contine:
echo PORT $PORT
rasa run -m modele --endpoints heroku-endpoints.yml --cors "*" --enable-api -p $PORT
ce fac greșit? Va rog ajutati.