Lock Stores

You are viewing documentation for our open source project which is maintained by the community. If you want to get started building assistants with Rasa please check out our latest documentation here.

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)

RedisLockStore

  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>
        key_prefix: <alphanumeric value to prepend to lock store keys>
    
  3. To start the Rasa Core server using your Redis backend, add the --endpoints flag, e.g.:

    rasa run -m models --endpoints endpoints.yml
    

The key_prefix parameter was added.