You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{% include anchor.html edit="true" title="List active tasks" hash="active_tasks" %}
{% highlight js %}
PouchDB.activeTasks.list()
{% endhighlight %}
List all active database tasks. There are three types of internal tasks: `database_compaction`, `view_indexing`, and `replication`. PouchDB will report progress of these tasks to the active tasks API and remove tasks as soon as they are completed or have failed.
#### Example Usage:
{% highlight js %}
const tasks = PouchDB.activeTasks.list()
{% endhighlight %}
#### Example Result:
{% highlight js %}
[{
"id": "d81fea92-8ce4-42df-bb2b-89a4e67536c3",
"name": "database_compaction",
"created_at": "2022-02-08T15:38:45.318Z",
"total_items": 12,
"completed_items": 1,
"updated_at": "2022-02-08T15:38:45.821Z"
}]
{% endhighlight %}
### Real-time updates
You can use [JavaScript Proxies](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) to monitor calls to the active tasks API. For the `PouchDB.activeTasks.add()` function, which is used internally to announce new tasks to PouchDB, you can monitor calls as follows:
{% highlight js %}
PouchDB.activeTasks.add = new Proxy(PouchDB.activeTasks.add, {