Skip to content

SlavaSkvortsov/arq-django-admin

Repository files navigation

ARQ Django admin

codecov pypi versions

Django admin dashboard for arq. ARQ Django admin is a simple app that allows you to configure your queues in django's settings.py and show them in your admin dashboard.

Installation

pip install arq-django-admin
  • Add arq_admin to INSTALLED_APPS in settings.py:
INSTALLED_APPS = (
    'arq_admin',
    # other apps
)

Make sure you added it before django.contrib.admin, otherwise you won't be able to see a link in the top right corner.

  • Configure your queues in Django's settings.py:
from arq.connections import RedisSettings
from arq.constants import default_queue_name


ARQ_QUEUES = {
    default_queue_name: RedisSettings(
        host='localhost',
        port=6379,
        database=0,
    ),
    'arq:another_queue_name': RedisSettings(),
}
  • Include arq_admin.urls in your urls.py:
from django.urls import include, path


urlpatterns = [
    # <...>
    path('arq/', include('arq_admin.urls')),
]
  • If you use custom job serializer, you need to add deserializer to settings.py:
ARQ_DESERIALIZER_BY_QUEUE = {
    'arq:another_queue_name': custom_job_deserializer,
}
  • You can change timeout for job aborting:
ARQ_JOB_ABORT_TIMEOUT = 10