Purge Activities / Notifications
Activities model¶
In Pydio Cells, activities are designed as a generic concept following social network feeds model : an Object can receive activities from external events in its "inbox" and has its own self-triggered events exposed in its "outbox". This can model be compared to the social network feeds represented by a user "story" (outbox) and his/her wall ("inbox').
In Cells it is applied in different contexts:
Users "inboxes" represent the notifications received when watching a file or folder for modifications.
Nodes (files/folders) "outboxes" registers all activities of a given node and all its children.
These activities are stored in the Activity Stream 2.0 format inside a onfile database. By default, these activities are kept forever, leading the on-file Bolt Database to grow, and eventually consume a lot of RAM. These activites are not used for Audit logs, and thus can be safely purged after a while.
[Ent] Purging Users Notifications with Scheduler/Cells Flows¶
Starting with Cells v3, a default job is inserted at startup for purging activities based on specific parameters. It is disabled by default, you can enable it and either run manually or setup a scheduler for automated run.
"Purge Users Notifications" job has the following parameters:
Parameters | Description | Default |
---|---|---|
KeepAtLeast | Minimum number of activities to keep for each file or folder, starting from the most recent ones. | 1 |
KeepLast | Maximum number of activities to keep for each file or folder (removing the oldest ones | 10 |
UpdatedDays | Purge activities recorder before a specific date (today minus the number of days. | 30days |
As explained above, this job applies to the "users' inboxes". After a purge, the activity database is entirely cloned and re-indexed for a better defragmentation.
[Ent] Purging Files/Folders Activities using Scheduler/Cells Flows¶
Similarly to the "Purge Users Notifications", a "Purge Files Activities" job is available for automated run, with the same parameters. It is applied to the "nodes' outboxes".
Using Command-Line¶
For home users or for more options, it is possible to manually trigger an operation similar to the scheduler jobs by using the clean activities
command.
You can find here the notions explained above : type is one of "nodes" or "users", box is one of "inbox" or "outbox". Other criteria for purging activities are similar to the jobs parameters.
An interesting flag is the --db
allowing to directly point to a database file. This allows applying the purge operation offline. This must be done with Cells service stopped, and can be applied to the {CELLS_WORKING_DIR}/services/pydio.grpc.activity/activities.db
file.