mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-15 10:13:15 -05:00
Ensures all old connections are closed in certain longer running locations (#4265)
This commit is contained in:
parent
70b566f746
commit
612e6341a3
src/documents
@ -9,6 +9,7 @@ from time import monotonic
|
|||||||
from time import sleep
|
from time import sleep
|
||||||
from typing import Final
|
from typing import Final
|
||||||
|
|
||||||
|
from django import db
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
from django.core.management.base import CommandError
|
from django.core.management.base import CommandError
|
||||||
@ -38,6 +39,7 @@ def _tags_from_path(filepath) -> set[Tag]:
|
|||||||
|
|
||||||
Returns set of Tag models
|
Returns set of Tag models
|
||||||
"""
|
"""
|
||||||
|
db.close_old_connections()
|
||||||
tag_ids = set()
|
tag_ids = set()
|
||||||
path_parts = Path(filepath).relative_to(settings.CONSUMPTION_DIR).parent.parts
|
path_parts = Path(filepath).relative_to(settings.CONSUMPTION_DIR).parent.parts
|
||||||
for part in path_parts:
|
for part in path_parts:
|
||||||
|
@ -14,6 +14,7 @@ from django.contrib.admin.models import LogEntry
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.db import DatabaseError
|
from django.db import DatabaseError
|
||||||
|
from django.db import close_old_connections
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
@ -529,6 +530,8 @@ def before_task_publish_handler(sender=None, headers=None, body=None, **kwargs):
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
close_old_connections()
|
||||||
|
|
||||||
task_args = body[0]
|
task_args = body[0]
|
||||||
input_doc, _ = task_args
|
input_doc, _ = task_args
|
||||||
|
|
||||||
@ -560,6 +563,7 @@ def task_prerun_handler(sender=None, task_id=None, task=None, **kwargs):
|
|||||||
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-prerun
|
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-prerun
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
close_old_connections()
|
||||||
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
||||||
|
|
||||||
if task_instance is not None:
|
if task_instance is not None:
|
||||||
@ -587,6 +591,7 @@ def task_postrun_handler(
|
|||||||
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-postrun
|
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-postrun
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
close_old_connections()
|
||||||
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
||||||
|
|
||||||
if task_instance is not None:
|
if task_instance is not None:
|
||||||
@ -615,6 +620,7 @@ def task_failure_handler(
|
|||||||
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-failure
|
https://docs.celeryq.dev/en/stable/userguide/signals.html#task-failure
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
close_old_connections()
|
||||||
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
task_instance = PaperlessTask.objects.filter(task_id=task_id).first()
|
||||||
|
|
||||||
if task_instance is not None and task_instance.result is None:
|
if task_instance is not None and task_instance.result is None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user