mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
Finalizes what the PaperlessTask will look like to the frontend
This commit is contained in:
parent
9247300230
commit
fad1b03458
@ -6,7 +6,7 @@ from django.db import migrations
|
|||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
("documents", "1026_remove_paperlesstask_created_and_more"),
|
("documents", "1025_alter_savedviewfilterrule_rule_type"),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Manual SQL commands to drop the django_q related tables
|
# Manual SQL commands to drop the django_q related tables
|
@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 4.0.7 on 2022-09-02 22:08
|
# Generated by Django 4.1.1 on 2022-09-27 19:31
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
@ -8,7 +8,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
("django_celery_results", "0011_taskresult_periodic_task_name"),
|
("django_celery_results", "0011_taskresult_periodic_task_name"),
|
||||||
("documents", "1025_alter_savedviewfilterrule_rule_type"),
|
("documents", "1026_drop_django_q"),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
@ -24,10 +24,6 @@ class Migration(migrations.Migration):
|
|||||||
model_name="paperlesstask",
|
model_name="paperlesstask",
|
||||||
name="started",
|
name="started",
|
||||||
),
|
),
|
||||||
migrations.RemoveField(
|
|
||||||
model_name="paperlesstask",
|
|
||||||
name="task_id",
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name="paperlesstask",
|
model_name="paperlesstask",
|
||||||
name="attempted_task",
|
name="attempted_task",
|
@ -527,6 +527,7 @@ class UiSettings(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
class PaperlessTask(models.Model):
|
class PaperlessTask(models.Model):
|
||||||
|
task_id = models.CharField(max_length=128)
|
||||||
acknowledged = models.BooleanField(default=False)
|
acknowledged = models.BooleanField(default=False)
|
||||||
|
|
||||||
attempted_task = models.OneToOneField(
|
attempted_task = models.OneToOneField(
|
||||||
|
@ -622,14 +622,14 @@ class TasksViewSerializer(serializers.ModelSerializer):
|
|||||||
depth = 1
|
depth = 1
|
||||||
fields = (
|
fields = (
|
||||||
"id",
|
"id",
|
||||||
|
"task_id",
|
||||||
|
"date_created",
|
||||||
|
"date_done",
|
||||||
"type",
|
"type",
|
||||||
"status",
|
"status",
|
||||||
"result",
|
"result",
|
||||||
"acknowledged",
|
"acknowledged",
|
||||||
"date_created",
|
|
||||||
"date_done",
|
|
||||||
"task_name",
|
"task_name",
|
||||||
"task_id",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type = serializers.SerializerMethodField()
|
type = serializers.SerializerMethodField()
|
||||||
@ -670,14 +670,6 @@ class TasksViewSerializer(serializers.ModelSerializer):
|
|||||||
result = obj.attempted_task.date_done
|
result = obj.attempted_task.date_done
|
||||||
return result
|
return result
|
||||||
|
|
||||||
task_name = serializers.SerializerMethodField()
|
|
||||||
|
|
||||||
def get_task_name(self, obj):
|
|
||||||
result = ""
|
|
||||||
if hasattr(obj, "attempted_task") and obj.attempted_task:
|
|
||||||
result = obj.attempted_task.task_name
|
|
||||||
return result
|
|
||||||
|
|
||||||
task_id = serializers.SerializerMethodField()
|
task_id = serializers.SerializerMethodField()
|
||||||
|
|
||||||
def get_task_id(self, obj):
|
def get_task_id(self, obj):
|
||||||
@ -686,6 +678,14 @@ class TasksViewSerializer(serializers.ModelSerializer):
|
|||||||
result = obj.attempted_task.task_id
|
result = obj.attempted_task.task_id
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
task_name = serializers.SerializerMethodField()
|
||||||
|
|
||||||
|
def get_task_name(self, obj):
|
||||||
|
result = ""
|
||||||
|
if hasattr(obj, "attempted_task") and obj.attempted_task:
|
||||||
|
result = obj.attempted_task.task_name
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
class AcknowledgeTasksViewSerializer(serializers.Serializer):
|
class AcknowledgeTasksViewSerializer(serializers.Serializer):
|
||||||
|
|
||||||
|
@ -509,6 +509,9 @@ def update_paperless_task(sender, instance: TaskResult, **kwargs):
|
|||||||
paperless_task, _ = PaperlessTask.objects.get_or_create(
|
paperless_task, _ = PaperlessTask.objects.get_or_create(
|
||||||
task_id=instance.task_id,
|
task_id=instance.task_id,
|
||||||
)
|
)
|
||||||
|
paperless_task.name = instance.task_name
|
||||||
|
paperless_task.created = instance.date_created
|
||||||
|
paperless_task.completed = instance.date_done
|
||||||
paperless_task.attempted_task = instance
|
paperless_task.attempted_task = instance
|
||||||
paperless_task.save()
|
paperless_task.save()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -22,7 +22,6 @@ from django.conf import settings
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.test import override_settings
|
from django.test import override_settings
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django_q.models import Task
|
|
||||||
from documents import bulk_edit
|
from documents import bulk_edit
|
||||||
from documents import index
|
from documents import index
|
||||||
from documents.models import Correspondent
|
from documents.models import Correspondent
|
||||||
@ -33,7 +32,6 @@ from documents.models import PaperlessTask
|
|||||||
from documents.models import SavedView
|
from documents.models import SavedView
|
||||||
from documents.models import StoragePath
|
from documents.models import StoragePath
|
||||||
from documents.models import Tag
|
from documents.models import Tag
|
||||||
from documents.models import UiSettings
|
|
||||||
from django_celery_results.models import TaskResult
|
from django_celery_results.models import TaskResult
|
||||||
from documents.models import Comment
|
from documents.models import Comment
|
||||||
from documents.models import StoragePath
|
from documents.models import StoragePath
|
||||||
@ -2805,23 +2803,19 @@ class TestTasks(APITestCase):
|
|||||||
"""
|
"""
|
||||||
result1 = TaskResult.objects.create(
|
result1 = TaskResult.objects.create(
|
||||||
task_id=str(uuid.uuid4()),
|
task_id=str(uuid.uuid4()),
|
||||||
task_name="documents.tasks.some_task",
|
task_name="documents.tasks.some_great_task",
|
||||||
status=celery.states.PENDING,
|
status=celery.states.PENDING,
|
||||||
)
|
)
|
||||||
PaperlessTask.objects.create(attempted_task=result1)
|
PaperlessTask.objects.create(attempted_task=result1)
|
||||||
|
|
||||||
result2 = TaskResult.objects.create(
|
result2 = TaskResult.objects.create(
|
||||||
task_id=str(uuid.uuid4()),
|
task_id=str(uuid.uuid4()),
|
||||||
task_name="documents.tasks.other_task",
|
task_name="documents.tasks.some_awesome_task",
|
||||||
status=celery.states.STARTED,
|
status=celery.states.STARTED,
|
||||||
)
|
)
|
||||||
PaperlessTask.objects.create(attempted_task=result2)
|
PaperlessTask.objects.create(attempted_task=result2)
|
||||||
|
|
||||||
response = self.client.get(self.ENDPOINT)
|
response = self.client.get(self.ENDPOINT)
|
||||||
from pprint import pprint
|
|
||||||
|
|
||||||
for x in response.data:
|
|
||||||
pprint(x)
|
|
||||||
|
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertEqual(len(response.data), 2)
|
self.assertEqual(len(response.data), 2)
|
||||||
|
@ -463,13 +463,18 @@ WORKER_TIMEOUT: Final[int] = __get_int("PAPERLESS_WORKER_TIMEOUT", 1800)
|
|||||||
|
|
||||||
CELERY_BROKER_URL = _REDIS_URL
|
CELERY_BROKER_URL = _REDIS_URL
|
||||||
CELERY_TIMEZONE = TIME_ZONE
|
CELERY_TIMEZONE = TIME_ZONE
|
||||||
|
|
||||||
CELERY_WORKER_HIJACK_ROOT_LOGGER = False
|
CELERY_WORKER_HIJACK_ROOT_LOGGER = False
|
||||||
CELERY_WORKER_CONCURRENCY = TASK_WORKERS
|
CELERY_WORKER_CONCURRENCY = TASK_WORKERS
|
||||||
CELERY_WORKER_MAX_TASKS_PER_CHILD = 1
|
CELERY_WORKER_MAX_TASKS_PER_CHILD = 1
|
||||||
CELERY_TASK_TRACK_STARTED = True
|
CELERY_WORKER_SEND_TASK_EVENTS = True
|
||||||
CELERY_RESULT_EXTENDED = True
|
|
||||||
CELERY_SEND_TASK_SENT_EVENT = True
|
CELERY_SEND_TASK_SENT_EVENT = True
|
||||||
|
|
||||||
|
CELERY_TASK_TRACK_STARTED = True
|
||||||
CELERY_TASK_TIME_LIMIT = WORKER_TIMEOUT
|
CELERY_TASK_TIME_LIMIT = WORKER_TIMEOUT
|
||||||
|
|
||||||
|
CELERY_RESULT_EXTENDED = True
|
||||||
CELERY_RESULT_BACKEND = "django-db"
|
CELERY_RESULT_BACKEND = "django-db"
|
||||||
CELERY_CACHE_BACKEND = "default"
|
CELERY_CACHE_BACKEND = "default"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user