Skip to Content
DocsFeaturesBuilt-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! βš™οΈ