diff --git a/atdb/taskdatabase/migrations/0023_task_cleanup_policy.py b/atdb/taskdatabase/migrations/0023_task_cleanup_policy.py new file mode 100644 index 0000000000000000000000000000000000000000..36b2db5366cd26a89c07c6747a3bf1e05d91223f --- /dev/null +++ b/atdb/taskdatabase/migrations/0023_task_cleanup_policy.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.4 on 2023-05-04 09:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('taskdatabase', '0022_workflow_tag'), + ] + + operations = [ + migrations.AddField( + model_name='task', + name='cleanup_policy', + field=models.CharField(blank=True, max_length=30, null=True), + ), + ] diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index ad14b9dd66de1a220d070b9a236d68b2d258dd46..852002c20d7533eb5f192adb968cef589b0eaa69 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -73,7 +73,6 @@ class Task(models.Model): # Task control properties task_type = models.CharField(max_length=20, default="regular") filter = models.CharField(max_length=30, blank=True, null=True) - #environment = models.JSONField(null=True, blank=True) environment = models.CharField(max_length=255, blank=True, null=True) new_status = models.CharField(max_length=50, default="defining", null=True) status = models.CharField(db_index=True, default="unknown", max_length=50,blank=True, null=True) @@ -84,6 +83,7 @@ class Task(models.Model): priority = models.IntegerField(default=100, null=True) purge_policy = models.CharField(max_length=5, default="no", blank=True, null=True) + cleanup_policy = models.CharField(max_length=30, blank=True, null=True) stage_request_id = models.IntegerField(null=True) # LOFAR properties diff --git a/atdb/taskdatabase/serializers.py b/atdb/taskdatabase/serializers.py index d12f0229bcae30c6e944cab4c853980b7fe6aef3..7b947d59fc752d3f93d5f5ea8263524c6d01c45a 100644 --- a/atdb/taskdatabase/serializers.py +++ b/atdb/taskdatabase/serializers.py @@ -39,7 +39,7 @@ class TaskWriteSerializer(serializers.ModelSerializer): class Meta: model = Task fields = ('id','task_type','filter','predecessor','successors', - 'project','sas_id','priority','purge_policy','resume', + 'project','sas_id','priority','purge_policy','cleanup_policy','resume', 'new_workflow_id','new_workflow_uri','workflow', 'stage_request_id', 'status','new_status','quality', @@ -94,7 +94,7 @@ class TaskReadSerializer(serializers.ModelSerializer): model = Task fields = ['id','task_type','creationTime','filter', 'predecessor','predecessor_status','successors', - 'project','sas_id','priority','purge_policy','resume', + 'project','sas_id','priority','purge_policy','cleanup_policy','resume', 'workflow', 'stage_request_id', 'status','new_status','quality', @@ -125,7 +125,7 @@ class TaskReadSerializerFast(serializers.ModelSerializer): class Meta: model = Task fields = ['id','task_type','creationTime','filter','predecessor','predecessor_status', - 'project','sas_id','priority','purge_policy','resume', + 'project','sas_id','priority','purge_policy','cleanup_policy','resume', 'workflow', 'stage_request_id', 'status','new_status','quality', diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index a64eea07a5c490aebc7b722c507c45225de3e2dc..1393419915a1e1c8926b4b02b984163e40c64c79 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -62,6 +62,7 @@ class TaskFilter(filters.FilterSet): 'status': ['exact', 'icontains', 'in', 'startswith'], 'quality': ['exact', 'icontains', 'in', 'startswith'], 'purge_policy': ['exact'], + 'cleanup_policy': ['exact','icontains','in'], 'priority': ['exact', 'lte', 'gte'], 'resume': ['exact'], # http://localhost:8000/atdb/tasks/?predecessor__isnull=True