Lock Stores

These docs are for version 1.x of Rasa Open Source.

User Guide

NLU

Core

Conversation Design

API Reference

Migrate from (beta)

Reference

Lock Stores

Rasa uses a ticket lock mechanism to ensure that incoming messages for a given conversation ID are processed in the right order, and locks conversations while messages are actively processed. This means multiple Rasa servers can be run in parallel as replicated services, and clients do not necessarily need to address the same node when sending messages for a given conversation ID.

InMemoryLockStore (default)

InMemoryLockStore is the default lock store. It maintains conversation locks within a single process.

Configuration

To use the InMemoryTrackerStore no configuration is needed.

RedisLockStore

RedisLockStore maintains conversation locks using Redis as a persistence layer. This is the recommended lock store for running a replicated set of Rasa servers.

Configuration

To set up Rasa with Redis the following steps are required:

  1. Start your Redis instance

  2. Add required configuration to your endpoints.yml

   lock_store:
       type: "redis"
       url: <url of the redis instance, e.g. localhost>
       port: <port of your redis instance, usually 6379>
       password: <password used for authentication>
       db: <number of your database within redis, e.g. 0>
  1. To start the Rasa Core server using your Redis backend, add the --endpoints flag, e.g.:
   rasa run -m models --endpoints endpoints.yml

Parameters