I recently came across restore.py rasa_core/restore.py at 0.10.4 · RasaHQ/rasa_core · GitHub. I am wondering what use case this was written for…
I am wondering how to do code updates with rasa, I am still using version 0.10.4 running rasa with a custom script which creates the tracker store, agent, twilio connection and so on. How is Rasa handled in a CI/CD pipeline?
My application involves sending plenty of reminders to multiple users (rasa uses apscheduler with a redis tracker store in my case). So at any time, the EC2 instance I am using has a context of my top level script running.
If I want to push code updates i.e. updated actions.py and or updated model and/or domain file or a model. I see the the only option to take the running chatbot instance down, git pull the code update, and rerun the instance. This seems rather crude. Is there a better way/method to push updates to an already running instance that sadly does need to maintain context/state in memory since there could be multiple users requiring reminders at odd times.
Edit/Question: Does Apscheduler always need an active context of the application? If I do start stop, does connecting to the redis tracker store using the url hopefully help restore it in some way.