Skip to Content
DocumentationFeaturesBuilt-in AppsOperationsOverview

Operations Apps Overview

Operations apps handle site maintenance, background task processing, and operational automation for your Django-CFG projects.

Maintenance App

Simple Cloudflare site maintenance management using Page Rules

  • ๐ŸŒ Multi-Site Management - Manage multiple Cloudflare sites
  • โšก Page Rules Integration - Works with Cloudflare Free plan
  • ๐Ÿ”„ Bulk Operations - Enable/disable maintenance for multiple sites
  • ๐Ÿ“Š Clean Admin Interface - Unfold styled admin interface
  • ๐Ÿ“ฑ CLI Management - Command-line automation tools

Key Features

# Simple maintenance control from django_cfg.apps.maintenance import MaintenanceService service = MaintenanceService(site) service.enable_maintenance("Database upgrade") service.disable_maintenance()

Whatโ€™s New (Simplified)

  • โœ… Page Rules instead of complex Workers
  • โœ… 4 Models instead of 8+ models
  • โœ… Cloudflare Free plan compatible
  • โœ… KISS principle - Keep It Simple, Stupid

Tasks App

Asynchronous task processing with Django-RQ

  • โšก Background Jobs - Process tasks asynchronously
  • ๐Ÿ”„ Retry Logic - Automatic retry with exponential backoff
  • ๐Ÿ“Š Monitoring - Task status and performance tracking
  • ๐ŸŽฏ Priority Queues - Multiple priority levels
  • ๐Ÿ“ฑ Admin Interface - Task management via Django admin

Key Features

# Define and run background tasks from django_cfg.apps.tasks import task @task() def send_email_task(user_id, subject, message): # Process in background pass # Queue task send_email_task.delay(user_id=123, subject="Hello", message="World")

Best Practices

1. Use Maintenance for Site Operations

# Scheduled maintenance service.enable_maintenance("Planned database migration - ETA 30min") # Perform migration service.disable_maintenance()

2. Use Tasks for Heavy Processing

@task() def process_large_dataset(dataset_id): # Long-running data processing pass

3. Monitor Operations

# Check maintenance logs logs = MaintenanceLog.objects.filter(status='failed') # Check task status from django_cfg.apps.tasks import TaskResult failed_tasks = TaskResult.objects.filter(status='failed')

See Also

Operations Apps

Operations Features:

Background Processing:

Configuration & Setup

Getting Started:

Advanced Configuration:

Tools & Deployment

CLI Tools:

Guides:

Operations apps provide the backbone for reliable site operations and background processing! โš™๏ธ