Ongoing Tasks - Overview


  • Ongoing tasks are work tasks defined for the database.

  • Each task is assigned a responsible node from the Database Group nodes to handle the work.

    • If not specified by the user, the cluster decides which node will be responsible for the task. See Members Duties.
    • If a node is down, the cluster will reassign the work to another node for the duration.
  • Once enabled, an ongoing task runs in the background,
    and its responsible node executes the defined task work whenever relevant data changes occur.

  • In this page:


The ongoing tasks

The available ongoing tasks are:

Figure 3. Ongoing Tasks New Task

Add ongoing task

Replication:

  • External Replication
    Create a live replica of your database in another RavenDB database in another cluster.
    This replication is initiated by the source database.
  • Hub/Sink Replication
    Create a live replica of your database, or a part of it, in another RavenDB database.
    The replication is initiated by the Sink task.
    The replication can be bidirectional or limited to a single direction.
    The replication can be filtered to allow the delivery of selected documents.

Backups & Subscriptions:

  • Backup
    Schedule a backup or a snapshot of the database at a specified point in time.
  • Subscription
    Send batches of documents that match a pre-defined query for processing on a client.

ETL (RavenDB => Target):

  • RavenDB ETL
    Write all or chosen database documents to another RavenDB database.
    Data can be filtered and modified with transformation scripts.
  • SQL ETL
    Write the database data to a relational database.
    Data can be filtered and modified with transformation scripts.
  • OLAP ETL
    Convert database data to the Parquet file format for OLAP purposes.
    Data can be filtered and modified with transformation scripts.
  • Elasticsearch ETL
    Write all or chosen database documents to an Elasticsearch destination.
    Data can be filtered and modified with transformation scripts.
  • Kafka ETL
    Write all or chosen database documents to topics of a Kafka broker.
    Data can be filtered and modified with transformation scripts.
  • RabbitMQ ETL
    Write all or chosen database documents to a RabbitMQ exchange.
    Data can be filtered and modified with transformation scripts.
  • Azure Queue Storage ETL
    Write all or chosen database documents to Azure Queue Storage.
    Data can be filtered and modified with transformation scripts.

Sink (Source => RavendB)

  • Kafka Sink
    Consume and process incoming messages from Kafka topics.
    Add scripts to Load, Put, or Delete documents in RavenDB based on the incoming messages.
  • RabbitMQ Sink
    Consume and process incoming messages from RabbitMQ queues.
    Add scripts to Load, Put, or Delete documents in RavenDB based on the incoming messages.

The ongoing tasks list - View

Figure 1. Ongoing Tasks View

Ongoing tasks list for database DB1

  1. Navigate to Tasks > Ongoing Tasks

  2. The list of the current tasks defined for the database.

  3. The task name.

  4. The node that is currently responsible for executing the task.

The ongoing tasks list - Actions

Figure 2. Ongoing Tasks Actions

Ongoing tasks - actions

  1. Add Task - Create a new task for the database.
  2. Enable / Disable the task.
  3. Details - Click to see a short task details summary in this view.
  4. Edit - Click to edit the task.
  5. Delete the task.

The ongoing tasks can also be managed via the Client API. See Ongoing tasks operations.