Skip to main content

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! ⚙️