diff --git a/mayan/apps/document_indexing/literals.py b/mayan/apps/document_indexing/literals.py new file mode 100644 index 0000000000..a227799d07 --- /dev/null +++ b/mayan/apps/document_indexing/literals.py @@ -0,0 +1 @@ +RETRY_DELAY = 20 # TODO: convert this into a config option diff --git a/mayan/apps/document_indexing/tasks.py b/mayan/apps/document_indexing/tasks.py index 4838757984..e2850a953e 100644 --- a/mayan/apps/document_indexing/tasks.py +++ b/mayan/apps/document_indexing/tasks.py @@ -6,19 +6,19 @@ from mayan.celery import app from documents.models import Document from lock_manager import Lock, LockError +from .literals import RETRY_DELAY from .models import IndexInstanceNode logger = logging.getLogger(__name__) -RETRY_DELAY = 20 # TODO: convert this into a config option -@app.task(bind=True, ignore_result=True) +@app.task(bind=True, default_retry_delay=RETRY_DELAY, ignore_result=True) def task_delete_empty_index_nodes(self): try: rebuild_lock = Lock.acquire_lock('document_indexing_task_do_rebuild_all_indexes') except LockError as exception: # A rebuild is happening, retry later - raise self.retry(exc=exception, countdown=RETRY_DELAY) + raise self.retry(exc=exception) else: try: IndexInstanceNode.objects.delete_empty_index_nodes() @@ -26,19 +26,19 @@ def task_delete_empty_index_nodes(self): rebuild_lock.release() -@app.task(bind=True, ignore_result=True) +@app.task(bind=True, default_retry_delay=RETRY_DELAY, ignore_result=True) def task_index_document(self, document_id): try: rebuild_lock = Lock.acquire_lock('document_indexing_task_do_rebuild_all_indexes') except LockError as exception: # A rebuild is happening, retry later - raise self.retry(exc=exception, countdown=RETRY_DELAY) + raise self.retry(exc=exception) else: try: lock = Lock.acquire_lock('document_indexing_task_update_index_document_%d' % document_id) except LockError as exception: # This document is being reindexed by another task, retry later - raise self.retry(exc=exception, countdown=RETRY_DELAY) + raise self.retry(exc=exception) else: try: document = Document.objects.get(pk=document_id) @@ -53,17 +53,17 @@ def task_index_document(self, document_id): rebuild_lock.release() -@app.task(bind=True, ignore_result=True) +@app.task(bind=True, default_retry_delay=RETRY_DELAY, ignore_result=True) def task_do_rebuild_all_indexes(self): if Lock.filter(name__startswith='document_indexing_task_update_index_document'): # A document index update is happening, wait - raise self.retry(countdown=RETRY_DELAY) + raise self.retry() try: lock = Lock.acquire_lock('document_indexing_task_do_rebuild_all_indexes') except LockError as exception: # Another rebuild is happening, retry later - raise self.retry(exc=exception, countdown=RETRY_DELAY) + raise self.retry(exc=exception) else: try: IndexInstanceNode.objects.rebuild_all_indexes()