Where are Reminders stored?


If I restart Rasa Server, will reminder be lost? We have rasa X docker install running, but we arent sure if reminders will be lost after deploying a new version of the Rasa Server and how to avoid losing reminder after restart


@dimirc Looking for a solution for this. Did you have any luck?

I had a look through the current Rasa source code.

You can see that reminders are scheduled here: rasa/processor.py at 7625fcaec9a5d1f47dbcc093a405e9369e7261fc · RasaHQ/rasa · GitHub , which relies on jobs.scheduler()

That is defined here: rasa/jobs.py at 7625fcaec9a5d1f47dbcc093a405e9369e7261fc · RasaHQ/rasa · GitHub , which uses a global variable __scheduler, and the apscheduler library.

Looking through that library’s docs: Advanced Python Scheduler — APScheduler 3.7.0 documentation , which does support various storage backends, but defaults to in-memory unless you specify otherwise with the jobstore parameter: apscheduler.schedulers.base — APScheduler 3.7.0 documentation .

Unfortunately the startup of this scheduler in rasa is hardcoded, and does not pass in the jobstores parameter, or allow you to configure it in any sort of way, so Rasa will always store reminders in memory (in the bot memory, not in the actions server memory), and will always be lost on restart, so I would suggest only using them for very short time intervals, for reminders where it would be fine if they’re lost/don’t execute.