import os from django.http import JsonResponse, HttpResponse from django.db import connection import os #################################################################################################### """ ### from .tasks import background_task def trigger_task(request, task): # Enqueue function in "default" queue background_task.delay(task) return JsonResponse({"message": "Task has been enqueued!", "task": task}) """ def link_list(request): # Base URL path app_url = request.build_absolute_uri() # List of links list_links = \ [ os.path.join(app_url, "admin"), os.path.join(app_url, "urls") ] + \ [ os.path.join(app_url, "logs", log_type) for log_type in ["database", "debug", "info", "warning", "server", "beat", "worker_light", "worker_default", "worker_heavy"] ] # Links tuple links = [(l, l) for l in list_links] # HTML html = "Links

Links

" return HttpResponse(html) #################################################################################################### def logs(request, log_type): # Capture output: python manage.py rqstats try: with open( os.path.join( os.getenv("PATH_LOGS_DIRECTORY", "logs"), "{}.log".format(log_type) ), "r") as f: file_content = f.read() except Exception as e: file_content = "Error reading logs for log type :{}".format(log_type) return HttpResponse(file_content, content_type="text/plain") #################################################################################################### def log_db(request): with connection.cursor() as cursor: # Create URLs table r = cursor.execute(""" SELECT relname AS "relation", pg_size_pretty ( pg_total_relation_size (C .oid) ) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C .relnamespace) WHERE nspname NOT IN ( 'pg_catalog', 'information_schema' ) AND C .relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size (C .oid) DESC LIMIT 100; """).fetchall() return HttpResponse( "\n".join([str(e) for e in r]) ) ####################################################################################################