Skip to content

Fax cleanup

Fax cleanup#

This task is used to cleanup the faxes global database. This is a headless task which runs on a daily timer. Sometimes fax documents are left behind which are stale. Whenever possible these stale fax documents are moved to the appropriate account modb. When the appropriate account MODB or account associated with the document is not available, the documents are deleted from the faxes db.

Since this task only operates on docs that are stale, it does not generate any notifications when it runs.

Final state assignment#

Documents are moved to a final state prior to being copied to the MODB. If a document is missing attachments, is in a provisional state (status is: start, prepare, etc), or missing an account ID, it is set to a status of failed. If an inbound fax is still in a provisional state but the attachment is present, it is set to a completed state.

Configuration#

All configuration are in system_config/tasks.fax_cleanup.

Key Description Type Default
enabled Should the cluster run the fax cleanup task boolean false
page_size The number of documents to process in one fetch operation integer 32
per_page_pause_ms How many milliseconds to pause between chunk fetches integer 1000
stale_after_s The number of seconds old a document is before it is considered to be stale integer 604800

Logs#

The task currently logs status and changes it makes to the kazoo log file. Logs can be gathered by grepping for kt_fax_cleanup.

Fill DB script#

A python script was written to test this. The script fills the faxes db of the target couchdb with dummy fax docs containing randomized dates and other values.

This script can be found in community-scripts.