text: from __future__ import absolute_import, unicode_literals
  
  from datetime import timedelta
  
  from django.utils.translation import ugettext_lazy as _
  
  from mayan.apps.common.queues import queue_tools
  from mayan.apps.task_manager.classes import CeleryQueue
  from mayan.apps.task_manager.workers import worker_fast, worker_medium
  
  from .literals import (
      CHECK_DELETE_PERIOD_INTERVAL, CHECK_TRASH_PERIOD_INTERVAL,
      DELETE_STALE_STUBS_INTERVAL
  )
  
  queue_converter = CeleryQueue(
      name='converter', label=_('Converter'), transient=True, worker=worker_fast
  )
  queue_documents_periodic = CeleryQueue(
      name='documents_periodic', label=_('Documents periodic'), transient=True, worker=worker_medium
  )
  queue_uploads = CeleryQueue(
      name='uploads', label=_('Uploads'), worker=worker_medium
  )
  queue_documents = CeleryQueue(
      name='documents', label=_('Documents'), worker=worker_medium
  )
  
  queue_converter.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_generate_document_page_image',
      label=_('Generate document page image')
  )
  
  queue_documents.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_delete_document',
      label=_('Delete a document')
  )
  queue_documents.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_clean_empty_duplicate_lists',
      label=_('Clean empty duplicate lists')
  )
  
  queue_documents_periodic.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_check_delete_periods',
      label=_('Check document type delete periods'),
      name='task_check_delete_periods',
      schedule=timedelta(
          seconds=CHECK_DELETE_PERIOD_INTERVAL
      ),
  )
  queue_documents_periodic.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_check_trash_periods',
      label=_('Check document type trash periods'),
      name='task_check_trash_periods',
      schedule=timedelta(seconds=CHECK_TRASH_PERIOD_INTERVAL),
  )
  queue_documents_periodic.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_delete_stubs',
      label=_('Delete document stubs'),
      name='task_delete_stubs',
      schedule=timedelta(seconds=DELETE_STALE_STUBS_INTERVAL),
  )
  
  queue_tools.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_clear_image_cache',
      label=_('Clear image cache')
  )
  queue_tools.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_scan_duplicates_all',
      label=_('Duplicated document scan')
  )
  
  queue_uploads.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_update_page_count',
      label=_('Update document page count')
  )
  queue_uploads.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_upload_new_version',
      label=_('Upload new document version')
  )
  queue_uploads.add_task_type(
      dotted_path='mayan.apps.documents.tasks.task_scan_duplicates_for',
      label=_('Scan document duplicates')
  )
  