Create a separate celery queue for imports

This commit is contained in:
Mouse Reeve 2022-12-16 14:20:50 -08:00
parent 1a2a5b8bd2
commit 427d0c4fc8
3 changed files with 6 additions and 4 deletions

View file

@ -19,7 +19,7 @@ from bookwyrm.models import (
Review,
ReviewRating,
)
from bookwyrm.tasks import app, LOW
from bookwyrm.tasks import app, LOW, IMPORTS
from .fields import PrivacyLevels
@ -328,7 +328,7 @@ class ImportItem(models.Model):
)
@app.task(queue=LOW)
@app.task(queue=IMPORTS)
def start_import_task(job_id):
"""trigger the child tasks for each row"""
job = ImportJob.objects.get(id=job_id)
@ -345,7 +345,7 @@ def start_import_task(job_id):
job.save()
@app.task(queue=LOW)
@app.task(queue=IMPORTS)
def import_item_task(item_id):
"""resolve a row into a book"""
item = ImportItem.objects.get(id=item_id)

View file

@ -14,3 +14,5 @@ app = Celery(
LOW = "low_priority"
MEDIUM = "medium_priority"
HIGH = "high_priority"
# import items get their own queue because they're such a pain in the ass
IMPORTS = "imports"

View file

@ -62,7 +62,7 @@ services:
build: .
networks:
- main
command: celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority
command: celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority,imports
volumes:
- .:/app
- static_volume:/app/static