вроде натроили переменные разные с докеркомпосами
Some checks failed
Deploy timelaps / deploy (push) Failing after 12s

This commit is contained in:
ack
2026-04-19 18:31:47 +03:00
parent 4b6a0f9c96
commit c06a67328b
24 changed files with 610 additions and 12 deletions

View File

@@ -0,0 +1,65 @@
# Generated by Django 6.0.4 on 2026-04-19 14:42
import datetime
import django.core.validators
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Camera',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=120, verbose_name='Наименование')),
('slug', models.SlugField(max_length=80, unique=True, verbose_name='Код камеры')),
('storage_path', models.CharField(help_text='Относительный путь внутри /app/storage, например: Camera3', max_length=255, verbose_name='Путь в storage')),
('rtsp_url', models.URLField(blank=True, verbose_name='RTSP URL (опционально)')),
('expected_width', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ожидаемая ширина')),
('expected_height', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ожидаемая высота')),
('is_active', models.BooleanField(default=True, verbose_name='Активна')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Камера',
'verbose_name_plural': 'Камеры',
'ordering': ['name'],
},
),
migrations.CreateModel(
name='TimelapseJob',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_from', models.DateField(verbose_name='Дата начала выборки')),
('date_to', models.DateField(verbose_name='Дата окончания выборки')),
('sampling_preset', models.PositiveSmallIntegerField(choices=[(0, '1 кадр / 15 минут'), (1, '1 кадр / 30 минут'), (2, '1 кадр / 45 минут'), (3, '1 кадр / час'), (4, '1 кадр / 1.5 часа'), (5, '1 кадр / 2 часа'), (6, '1 кадр / 3 часа'), (7, '1 кадр / 4 часа'), (8, '1 кадр / 6 часов'), (9, '1 кадр / 12 часов'), (10, '1 кадр / сутки')], default=3, verbose_name='Частота выборки')),
('fps', models.PositiveSmallIntegerField(default=25, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(120)], verbose_name='FPS итогового видео')),
('include_night', models.BooleanField(default=True, verbose_name='Включать ночные кадры')),
('day_start_time', models.TimeField(default=datetime.time(6, 0), verbose_name='Начало дня')),
('day_end_time', models.TimeField(default=datetime.time(22, 0), verbose_name='Конец дня')),
('status', models.CharField(choices=[('planned', 'Запланировано'), ('running', 'В работе'), ('success', 'Успешно'), ('error', 'Ошибка')], db_index=True, default='planned', max_length=16)),
('progress_percent', models.PositiveSmallIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='Прогресс, %')),
('frames_total', models.PositiveIntegerField(blank=True, null=True, verbose_name='Всего кадров')),
('frames_processed', models.PositiveIntegerField(default=0, verbose_name='Обработано кадров')),
('output_rel_path', models.CharField(blank=True, max_length=255, verbose_name='Путь к видео в storage')),
('error_message', models.TextField(blank=True, verbose_name='Текст ошибки')),
('created_at', models.DateTimeField(auto_now_add=True)),
('started_at', models.DateTimeField(blank=True, null=True)),
('finished_at', models.DateTimeField(blank=True, null=True)),
('camera', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='jobs', to='camlaps.camera', verbose_name='Камера')),
],
options={
'verbose_name': 'Задание таймлапса',
'verbose_name_plural': 'Задания таймлапса',
'ordering': ['-created_at'],
},
),
]

View File