Implement data integration tasks with Celery, including periodic fetching and manual refresh of chat data; add utility functions for data processing and transcript handling; create views and URLs for manual data refresh; establish Redis and Celery configuration; enhance error handling and logging; introduce scripts for data cleanup and fixing dashboard data; update documentation for Redis and Celery setup and troubleshooting.

This commit is contained in:
2025-05-18 13:33:11 +00:00
parent e8f2d2adc2
commit 8bbbb109bd
63 changed files with 4601 additions and 164 deletions

124
dev.sh Executable file
View File

@ -0,0 +1,124 @@
#!/bin/bash
# LiveGraphsDjango Development Helper Script
# Set UV_LINK_MODE to copy to avoid hardlink warnings
export UV_LINK_MODE=copy
# Function to print section header
print_header() {
echo "======================================"
echo "🚀 $1"
echo "======================================"
}
# Display help menu
if [[ $1 == "help" ]] || [[ $1 == "-h" ]] || [[ $1 == "--help" ]] || [[ -z $1 ]]; then
print_header "LiveGraphsDjango Development Commands"
echo "Usage: ./dev.sh COMMAND"
echo ""
echo "Available commands:"
echo " start - Start Redis and run the application with foreman"
echo " redis-start - Start Redis server in background"
echo " redis-test - Test Redis connection"
echo " redis-stop - Stop Redis server"
echo " migrate - Run database migrations"
echo " makemigrations - Create database migrations"
echo " superuser - Create a superuser account"
echo " test-celery - Send a test task to Celery"
echo " logs-celery - View logs for Celery"
echo " logs-beat - View logs for Celery Beat"
echo " shell - Open Django shell"
echo " help - Show this help menu"
exit 0
fi
# Start Redis server
if [[ $1 == "redis-start" ]]; then
print_header "Starting Redis Server"
redis-server --daemonize yes
sleep 1
if redis-cli ping >/dev/null 2>&1; then
echo "✅ Redis server is now running"
else
echo "❌ Failed to start Redis server"
fi
exit 0
fi
# Test Redis connection
if [[ $1 == "redis-test" ]]; then
print_header "Testing Redis Connection"
cd dashboard_project && python manage.py test_redis
exit 0
fi
# Stop Redis server
if [[ $1 == "redis-stop" ]]; then
print_header "Stopping Redis Server"
redis-cli shutdown
echo "✅ Redis server has been stopped"
exit 0
fi
# Run migrations
if [[ $1 == "migrate" ]]; then
print_header "Running Migrations"
cd dashboard_project && UV_LINK_MODE=copy uv run python manage.py migrate
exit 0
fi
# Make migrations
if [[ $1 == "makemigrations" ]]; then
print_header "Creating Migrations"
cd dashboard_project && UV_LINK_MODE=copy uv run python manage.py makemigrations
exit 0
fi
# Create superuser
if [[ $1 == "superuser" ]]; then
print_header "Creating Superuser"
cd dashboard_project && UV_LINK_MODE=copy uv run python manage.py createsuperuser
exit 0
fi
# Test Celery
if [[ $1 == "test-celery" ]]; then
print_header "Testing Celery"
cd dashboard_project && UV_LINK_MODE=copy uv run python manage.py test_celery
exit 0
fi
# View Celery logs
if [[ $1 == "logs-celery" ]]; then
print_header "Celery Worker Logs"
echo "Press Ctrl+C to exit"
cd dashboard_project && UV_LINK_MODE=copy uv run celery -A dashboard_project worker --loglevel=info
exit 0
fi
# View Celery Beat logs
if [[ $1 == "logs-beat" ]]; then
print_header "Celery Beat Logs"
echo "Press Ctrl+C to exit"
cd dashboard_project && UV_LINK_MODE=copy uv run celery -A dashboard_project beat --scheduler django_celery_beat.schedulers:DatabaseScheduler
exit 0
fi
# Django shell
if [[ $1 == "shell" ]]; then
print_header "Django Shell"
cd dashboard_project && UV_LINK_MODE=copy uv run python manage.py shell
exit 0
fi
# Start the application
if [[ $1 == "start" ]]; then
print_header "Starting LiveGraphsDjango Application"
./start.sh
exit 0
fi
# Invalid command
echo "❌ Unknown command: $1"
echo "Run './dev.sh help' to see available commands"
exit 1