c803e54313a0dacc4369a6491455bda6fe9f649e
youtube-microservice
uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Deno
curl -fsSL https://deno.land/install.sh | sh
Конфигурация для systemd
- Получить полный путь к директории проекта
pwd
# /home/.../youtube-microservice
- Получить полный путь к uv
which uv
# /home/.../.local/bin/uv
Для FastAPI (/etc/systemd/system/fastapi-service.service):
[Unit]
Description=FastAPI Service
After=network.target
[Service]
Type=simple
User=your_username # Замените на имя вашего пользователя
WorkingDirectory=/path/to/your/project # Замените на путь к проекту
ExecStart=/usr/bin/uv run fastapi run --host 0.0.0.0 --port 1234
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Для Celery (``):
[Unit]
Description=Celery Worker
After=network.target fastapi-service.service # Зависимость от FastAPI (опционально)
[Service]
Type=simple
User=your_username # Замените на имя вашего пользователя
WorkingDirectory=/path/to/your/project # Замените на путь к проекту
ExecStart=/usr/bin/uv run celery -A app.core.celery.celery_app worker --loglevel=info
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Активация и запуск
# Перезагружаем конфигурацию systemd
sudo systemctl daemon-reload
# Включаем автозапуск при загрузке системы
sudo systemctl enable fastapi-service.service
sudo systemctl enable celery-worker.service
# Запускаем сервисы
sudo systemctl start fastapi-service.service
sudo systemctl start celery-worker.service
Мониторинг и управление
- Проверить статус:
sudo systemctl status fastapi-service.service
sudo systemctl status celery-worker.service
- Посмотреть логи:
sudo journalctl -u fastapi-service.service -f
sudo journalctl -u celery-worker.service -f
- Остановить сервис:
sudo systemctl stop fastapi-service.service
- Перезапустить сервис:
sudo systemctl restart celery-worker.service
Description
Микросервис для загрузки видео с ютуба и последующей её выгрузки на локальный диск/s3
Languages
Python
100%