File indexing completed on 2026-08-12 09:36:15
0001
0002
0003 import uuid
0004
0005 from django.db import migrations, models
0006
0007
0008 class Migration(migrations.Migration):
0009
0010 dependencies = [
0011 ('monitor_app', '0002_cachedproduct'),
0012 ]
0013
0014 operations = [
0015 migrations.CreateModel(
0016 name='PandaTaskOperation',
0017 fields=[
0018 ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
0019 ('jedi_task_id', models.BigIntegerField(db_index=True)),
0020 ('task_name', models.CharField(blank=True, default='', max_length=500)),
0021 ('operation', models.CharField(choices=[('pause', 'Pause'), ('resume', 'Resume')], max_length=20)),
0022 ('source', models.CharField(default='manual', max_length=40)),
0023 ('requested_by', models.CharField(blank=True, default='', max_length=100)),
0024 ('status', models.CharField(choices=[('queued', 'Queued'), ('running', 'Running'), ('accepted', 'Accepted by PanDA'), ('verified', 'Verified'), ('failed', 'Failed'), ('timeout', 'Timed out'), ('unverified', 'Accepted but unverified')], db_index=True, default='queued', max_length=20)),
0025 ('diagnostic', models.TextField(blank=True, default='')),
0026 ('observed_status', models.CharField(blank=True, default='', max_length=50)),
0027 ('evidence', models.JSONField(blank=True, default=dict)),
0028 ('requested_at', models.DateTimeField(auto_now_add=True, db_index=True)),
0029 ('started_at', models.DateTimeField(blank=True, null=True)),
0030 ('accepted_at', models.DateTimeField(blank=True, null=True)),
0031 ('completed_at', models.DateTimeField(blank=True, null=True)),
0032 ('updated_at', models.DateTimeField(auto_now=True)),
0033 ],
0034 options={
0035 'db_table': 'swf_panda_task_operation',
0036 'ordering': ['-requested_at'],
0037 'indexes': [models.Index(fields=['jedi_task_id', 'requested_at'], name='swf_panda_t_jedi_ta_709a65_idx'), models.Index(fields=['status', 'requested_at'], name='swf_panda_t_status_39c5b0_idx')],
0038 'constraints': [models.UniqueConstraint(condition=models.Q(status__in=('queued', 'running', 'accepted')), fields=('jedi_task_id',), name='uniq_pending_panda_task_operation')],
0039 },
0040 ),
0041 ]