mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-12-24 00:50:35 +00:00
commit
f9a916db09
4 changed files with 29 additions and 1 deletions
|
@ -9,6 +9,14 @@
|
|||
|
||||
{% block panel %}
|
||||
|
||||
<div class="notification">
|
||||
<p>
|
||||
{% trans "You can set up monitoring to check if Celery is running by querying:" %}
|
||||
{% url "settings-celery-ping" as url %}
|
||||
<a href="{{ url }}" target="_blank" rel="nofollow noopener noreferrer">{{ url }}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% if queues %}
|
||||
<section class="block content">
|
||||
<h2>{% trans "Queues" %}</h2>
|
||||
|
|
|
@ -334,6 +334,9 @@ urlpatterns = [
|
|||
re_path(
|
||||
r"^settings/celery/?$", views.CeleryStatus.as_view(), name="settings-celery"
|
||||
),
|
||||
re_path(
|
||||
r"^settings/celery/ping/?$", views.celery_ping, name="settings-celery-ping"
|
||||
),
|
||||
re_path(
|
||||
r"^settings/email-config/?$",
|
||||
views.EmailConfig.as_view(),
|
||||
|
|
|
@ -4,7 +4,7 @@ from .admin.announcements import Announcements, Announcement
|
|||
from .admin.announcements import EditAnnouncement, delete_announcement
|
||||
from .admin.automod import AutoMod, automod_delete, run_automod
|
||||
from .admin.automod import schedule_automod_task, unschedule_automod_task
|
||||
from .admin.celery_status import CeleryStatus
|
||||
from .admin.celery_status import CeleryStatus, celery_ping
|
||||
from .admin.dashboard import Dashboard
|
||||
from .admin.federation import Federation, FederatedServer
|
||||
from .admin.federation import AddFederatedServer, ImportServerBlocklist
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
""" celery status """
|
||||
from django.contrib.auth.decorators import login_required, permission_required
|
||||
from django.http import HttpResponse
|
||||
from django.template.response import TemplateResponse
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
from django.views.decorators.http import require_GET
|
||||
import redis
|
||||
|
||||
from celerywyrm import settings
|
||||
|
@ -50,3 +52,18 @@ class CeleryStatus(View):
|
|||
"errors": errors,
|
||||
}
|
||||
return TemplateResponse(request, "settings/celery.html", data)
|
||||
|
||||
|
||||
@require_GET
|
||||
# pylint: disable=unused-argument
|
||||
def celery_ping(request):
|
||||
"""Just tells you if Celery is on or not"""
|
||||
try:
|
||||
ping = celery.control.inspect().ping()
|
||||
if ping:
|
||||
return HttpResponse()
|
||||
# pylint: disable=broad-except
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return HttpResponse(status=500)
|
||||
|
|
Loading…
Reference in a new issue