Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 44

Thema: Contao 5.3 SQL-Abfrage an tl_message_queue erzeugt ernorme Last

  1. #1
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard Contao 5.3 SQL-Abfrage an tl_message_queue erzeugt ernorme Last

    Liebe Community,

    ich schreibe hier, da das Problem noch nicht lange auftritt und ich Ende April/Anfang Mai von Contao 4.13 auf 5.3 migriert bin.
    Ich hoffe, dass wir zumindest klären können, an welcher Ecke das Problem entsteht.

    Grundsätzliche Informationen:
    Installierte Contao-Version: Contao 5.3.33

    Hoster: manitu.de (PHP Version 8.2.26)

    Installation und Updates erfolgten bisher immer über ContaoManager.
    SSH-Zugang möglich, bislang nicht genutzt.

    Extensions/Erweiterungen:
    codefog/contao-cookiebar 2.5.3
    dklemmt/contao_dk_mmenu 4.1.3
    do-while/contao-backupdb-bundle 2.1.1
    madeyourday/contao-rocksolid-columns 2.1.2
    terminal42/contao-pageimage 4.2
    Der Webhoster hat mich vor ein paar Tagen angeschrieben, dass unser Setup regelmäßig eine erhebliche Systemlast erzeugt und das Paket abgeschaltet werden muss, wenn ich es nicht umgehend behebe.

    Im Zusammenhang mit der hohen Last wurde mir folgendes SQL Query genannt:
    Code:
     SELECT m.* FROM tl_message_queue m WHERE (m.queue_name = 'prio_high') AND (m.delivered_at is null OR m.delivered_at < '2025-06-11 00:01:33') AND (m.available_at <= '2025-06-11 01:01:33') ORDER BY available_at ASC LIMIT 1 FOR UPDATE
    Da ich mich kaum damit beschäftige, wie Contao oder Symphony unter der Haube funktionieren, hilft mir das kaum, das Problem einzugrenzen.
    Aus meiner Sicht haben wir ein ziemlich normales Contao-Setup, an den Templates dürfte auch nichts weltbewegendes drin sein, die habe ich beim Update auf 5.3 komplett durchgesehen.

    Aus den prod-logs finde ich zu einem Zeitpunkt, zu dem es zuletzt passiert ist, mehr Informationen, allerdings komme ich auch nicht auf die Ursache (URL geändert in "www.meine-webseite.de):

    Code:
    [2025-06-16T08:47:26.407129+02:00] messenger.INFO: Received message Contao\CoreBundle\Messenger\Message\SearchIndexMessage {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.317466+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.320654+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.837205+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.838260+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.318546+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.848388+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.318738+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.852086+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.321361+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.856786+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.319757+02:00] request.INFO: Matched route "tl_page.9.root". {"route":"tl_page.9.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.9","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.9.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.meine-webseite.de/","method":"GET"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.862359+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionLost: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at ExceptionConverter.php line 105 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.425748+02:00] messenger.INFO: Message Contao\CoreBundle\Messenger\Message\SearchIndexMessage handled by Contao\CoreBundle\Messenger\MessageHandler\SearchIndexMessageHandler::__invoke {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage","handler":"Contao\\CoreBundle\\Messenger\\MessageHandler\\SearchIndexMessageHandler::__invoke"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:26.425824+02:00] messenger.INFO: Contao\CoreBundle\Messenger\Message\SearchIndexMessage was handled successfully (acknowledging to transport). {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.835180+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" at Connection.php line 283 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/Connection.php:283)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionLost(code: 2006): An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:105)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2006): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:130)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.922935+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.922935+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.922930+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.922949+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.922949+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:47:27.923850+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:51:44.872436+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at ExceptionConverter.php line 101 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:51:44.904321+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:55:48.602584+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at ExceptionConverter.php line 101 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:55:48.776907+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:57:56.427479+02:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at ExceptionConverter.php line 101 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    [2025-06-16T08:57:56.451571+02:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Messenger\Exception\TransportException: "An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused" at DoctrineReceiver.php line 58 {"exception":"[object] (Symfony\\Component\\Messenger\\Exception\\TransportException(code: 0): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:58)\n[previous exception] [object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 2002): An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:101)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/sites/site100024545/web/meine-webseite.de/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33)"} {"request_uri":"https://www.meine-webseite.de/","request_method":"GET"}
    Zu der Zeit gab es Zugriffe von einem Webcrawler, ich kann aber nicht nachvollziehen, wie der diese Datenbankabfragen auslöst. Kann der Crawler schädlich sein? Sollte die IP blockiert werden?
    Code:
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 164 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 205 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/images/Lankreis-musterkresistadt.png HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 214 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/images/logo-top.svg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 209 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/images/Lankreis-musterkresistadt.png" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 256 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/banner/startseite/StartseiteBanner3-Jubilaeum.png HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 239 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/images/logo-top.svg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 251 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/8/2025-05-22_TheaterMobileSpiele-D-1920max-1cmkzymfrn8x0jw.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/banner/startseite/StartseiteBanner2_mint-digitaleSchule.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 248 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/bilder/news/2025/TopJob_Plakat_DINA1_2025-Newsfeed.png HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 243 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/banner/startseite/StartseiteBanner1-FSJv3.png HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 234 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/w/2025-05-22_TheaterMobileSpiele-A-1920max-qwc7enn3g0tcrk0.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/5/2025-05-22_TheaterMobileSpiele-G-1920max-cpre4pd88ky505n.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/bilder/news/2025/2025-02-28_Draisine.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 229 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/banner/startseite/StartseiteBanner0-TOPJOB2025.png HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 239 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/a/2025-05-22_TheaterMobileSpiele-C-1920max-cf2j5w6yb7rem89.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/bilder/news/2025/2025-02-07_Nachruf_Rolf_Benz-qhd.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 242 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/j/2025-05-22_TheaterMobileSpiele-H-1920max-zswp4j0z5aa99nv.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/0/2025-05-22_TheaterMobileSpiele-E-1920max-qydh4kr14ctt2w2.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/8/2025-05-22_TheaterMobileSpiele-B-1920max-3ykk6sez8awxhb0.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/bilder/_legacy/logos/digital-2025-web.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 230 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/2/2025-05-22_TheaterMobileSpiele-I-1920max-dcwzmarjqm4eg46.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/bilder/logos_signets_auszeichnungen/2024-10-14_mint-freundliche_Schule_2024-2027.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 273 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/q/2025-05-22_TheaterMobileSpiele-J-1920max-4d4y0316cy6ppfb.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /files/berufsschulemusterstadt/images/logo-white.svg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 210 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/2/2025-03-23_Fischer-Kompetenzpartner-4db1334f.jpeg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 229 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET /assets/images/7/2025-05-22_TheaterMobileSpiele-F-1920max-pyvfs1bjp1kt70q.jpg HTTP/1.1" 302 214 "-" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 240 397
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/banner/startseite/StartseiteBanner3-Jubilaeum.png" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 281 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/banner/startseite/StartseiteBanner2_mint-digitaleSchule.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 291 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/bilder/logos_signets_auszeichnungen/2024-10-14_mint-freundliche_Schule_2024-2027.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 315 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/images/logo-white.svg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 252 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/2/2025-03-23_Fischer-Kompetenzpartner-4db1334f.jpeg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 271 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/2/2025-05-22_TheaterMobileSpiele-I-1920max-dcwzmarjqm4eg46.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/banner/startseite/StartseiteBanner1-FSJv3.png" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 276 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/q/2025-05-22_TheaterMobileSpiele-J-1920max-4d4y0316cy6ppfb.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/bilder/news/2025/TopJob_Plakat_DINA1_2025-Newsfeed.png" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 285 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/w/2025-05-22_TheaterMobileSpiele-A-1920max-qwc7enn3g0tcrk0.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/8/2025-05-22_TheaterMobileSpiele-D-1920max-1cmkzymfrn8x0jw.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/bilder/news/2025/2025-02-28_Draisine.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 271 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/j/2025-05-22_TheaterMobileSpiele-H-1920max-zswp4j0z5aa99nv.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/bilder/_legacy/logos/digital-2025-web.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 272 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/7/2025-05-22_TheaterMobileSpiele-F-1920max-pyvfs1bjp1kt70q.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/a/2025-05-22_TheaterMobileSpiele-C-1920max-cf2j5w6yb7rem89.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/5/2025-05-22_TheaterMobileSpiele-G-1920max-cpre4pd88ky505n.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/bilder/news/2025/2025-02-07_Nachruf_Rolf_Benz-qhd.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 284 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/0/2025-05-22_TheaterMobileSpiele-E-1920max-qydh4kr14ctt2w2.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/files/berufsschulemusterstadt/banner/startseite/StartseiteBanner0-TOPJOB2025.png" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 281 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 301 240 "http://meine-webseite.de/assets/images/8/2025-05-22_TheaterMobileSpiele-B-1920max-3ykk6sez8awxhb0.jpg" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 282 437
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 232 64318
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 200 63234 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 68667
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    34.78.131.72 - - [16/Jun/2025:08:47:24 +0200] "GET / HTTP/1.1" 500 1017 "http://www.meine-webseite.de" "recon (github.com/jimmysawczuk/recon; similar to Facebot, facebookexternalhit/1.1)" 600 5954
    Ich muss dazusagen: Ich bin Berufsschullehrer, es geht um unsere Schulwebseite.

    Den Webauftritt habe ich jetzt erstmal durch eine statische Webseite ersetzt. Ich werde versuchen, das Problem in einem Lokalen Container zu lösen. Leider bin ich unsicher, wie ich das Problem überhaupt provozieren kann und wo es herkommt.

    Danke und Grüße,

    fab44
    Geändert von fab44 (16.06.2025 um 11:24 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Hast bzw. hattest du einen echten Cronjob für contao:cron eingerichtet?
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Zumindest nicht aktiv. Die Installation von 4.13 als auch das Update auf 5.3 gingen nur über den ContaoManager.

    Könnte das das Problem lösen oder könnte das das Problem sein?
    Werde zu dem Thema mal die Doku durchgehen.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Kann beides sein

    Und das Problem kommt vielleicht auch nur dann zu tragen, wenn viel los ist, also wenn bspw. der Facebook Bot für die Meta AI crawled.
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard Cron kontrollieren

    So wie ich das mit dem Cronjob-Framework verstehe ist es so:
    • Per default triggert jeder HTTP-Request contao:cron, das dann (hoffentlich nur) die aktuell anstehenden Operationen durchführt. (Entwickler legen für Tasks die Häufigkeit fest.) Das ist ineffizient und ein Behelf, wenn kein Cronjob auf dem Server eingerichtet ist.
    • In Contao 4 konnte man das Verhalten deaktivieren, musste es dann aber manuell anstoßen. In Contao 5 scheint das nicht mehr vorgesehen zu sein.
    • Seit Contao 5.1 erkennt Contao selbst, ob ein echter cronjob eingerichtet ist und schaltet dann die Auslösung über HTTP-Requests ab. Dazu soll contao:cron minütlich aufgerufen werden.


    Leider sollte ich auf dem Prod-Server keine Tests mehr machen, daher hoffe ich, dass z.B. Spooky folgende Fragen beantworten kann:
    • Kann man weiterhin die Auslösung bei jedem HTTP-Request deaktiveren, damit das nur noch manuell bzw. per Script erledigt wird?
    • Erkennt Contao 5.1 den vorhandenen "echten" cronjob auch, wenn man ihn auf stündlich setzt? Bei unserem Hosting bin ich unsicher, ob minütlich möglich ist. Ich denke mit den dadurch evtl. auftretenden Einschänkungen können wir leben. Wir haben keine Nutzerkonten, keine Nutzereinträge und zur Zeit bin ich auch der einzige, der Änderungen vornimmt.
    • Hat jemand eine Idee, wie ich das Verhalten lokal in einer DDEV-Umgebung testen kann?


    Viele Grüße,

    fab44

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.264
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nach durchlesen der Doku (https://docs.contao.org/dev/framework/cron/) zum Thema Cron, verstehe ich es so, dass man die Abschaltung des front end cron bei erkanntem echten Cronjob auch erzwingen kann durch die in der Doku angegebene Einstellung "web-listener: false". Dann könntet ihr den Cronjob auch stündlich laufen lassen (oder so oft wie es eben möglich ist), wenn es nichts ausmacht, dass eben Jobs auch mal deutlich länger brauchen können bis sie ausgeführt werden als mit einem minütlichen Cronjob. Und der evenuelle Crawler im Frontend würde dann in puncto Cronjobs keine Auswirkungen haben.

    100% sicher bin ich mir dessen zwar nicht, aber @Spooky wird mich dann im Zweifelsfall schon korrigieren

    Edit: Ein stündlicher Cronjob wird nicht reichen für eine automatische Abschaltung des Frontend Cron, dazu braucht es schon einen minütlichen Cronjob. Deswegen also zur Abschaltung zusätzlich gemäß der Doku die o.g. Einstellung vornehmen.
    Geändert von tab (21.06.2025 um 22:08 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Ah vielen Dank, da war ich irgendwie blind...
    Beim Hoster kann man sogar 5-Minuten-Zyklen einstellen. Ich denke durch das manuelle Abschalten zusammen mit 5-minütiger Ausführung sollte das gut laufen. Werde es am Montag mal einrichten und Daumen drücken, dass es das Problem löst...

  8. #8
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Vorsicht bei Manitu: Im Kleingedruckten steht: "Die Ausführung darf nicht häufiger als 1 mal pro Stunde sein. "

  9. #9
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Mit der Webmaske für cronjobs kann man, wenn man PHP-Skripte ausführen möchte, keine Parameter übergeben.
    Ich habe es jetzt mit dem URL-Aufruf gemacht. Das mit einmal pro Stunde habe ich nicht gesehen, über die Maske ist es auf einmal alle 5min. begrenzt.

    Es läuft jetzt, ich bin aber noch vorsichtig, ob das das Problem löst.

  10. #10
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Das Problem mit der Datenbankabfrage, die wohl das ganze Shared Hosting beeinträchtigt, ist leider wieder aufgetreten. Es lag dann wohl nicht an dem automatischen cron per HTTP-Request.
    Zumindest habe ich die Einstellung web-listener: false gesetzt.

    Könnte es noch an was anderem liegen?
    Kann es am Hoster liegen, bzw. wäre das Problem durch einen Umzug behoben?

    Viele Grüße,
    fab44

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von fab44 Beitrag anzeigen
    Zumindest habe ich die Einstellung web-listener: false gesetzt.
    Was genau meinst du damit?
    » sponsor me via GitHub or Revolut

  12. #12
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Du hast ja oben, das vermutlich problematische Statement genannt.

    Was steht denn in der Tabelle tl_message_queue drin?

  13. #13
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Die Tabelle war jedes Mal leer, wenn ich reingeschaut habe, jetzt ebenso.

  14. #14
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Die Frage war so gemacht, wie: "Wozu wird die benötigt?" Nutzt du einen zeitgesteuerten E-Mailversand?

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Die Frage war so gemacht, wie: "Wozu wird die benötigt?" Nutzt du einen zeitgesteuerten E-Mailversand?
    Die Tabelle existiert in Contao 5.3+ von Haus aus - und das Problem ist auch nicht der Inhalt der Tabelle, sondern die Abfrage drauf. Wenn man keinen minütlichen contao:cron Cronjob nutzt, wird die Tabelle mehrmals bei jedem Request abgefragt um zu überprüfen, ob Messages da sind. Und bei einem limitierten Shared Hosting könnte das dem SQL Server zu viel sein.
    Geändert von Spooky (30.06.2025 um 09:12 Uhr)
    » sponsor me via GitHub or Revolut

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107
    » sponsor me via GitHub or Revolut

  17. #17
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Danke für den Reminder!

    Ich meinte in der config/config.yaml:
    Code:
    # E-Mail-Transportoptionen
    framework:
        mailer:
            transports:
                sendmail: sendmail://default
    
    contao:
    #   Ausführung der cron-Jobs durch HTML-Anfragen deaktivieren, unterbindet hoffentlich die wiederkehrende hohe Serverlast.
    #   (Erfordert echten cron-Job oder manuelle Ausführung von $ vendor/bin/contao-console contao:cron )
    #   https://docs.contao.org/dev/framework/cron/
        cron:
            web_listener: false
        mailer:
            transports:
                sendmail:
                    from: kontaktformular-noreply@meine-webseite.de
    (Hinweise auf die konkrete Schule wieder entfernt, teile es gerne per PM mit, falls das hilft.)

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    contao.cron.web_listener hat keine Auswirkung auf dein Problem. Solltest du aber natürlich trotzdem machen, wenn du in irgendeiner Form den Cronjob anderweitig regelmäßig ausführen lässt.

    Für dein Problem musst du folgende Einstellung setzen:

    PHP-Code:
    # config/config.yaml
    contao:
       
    messenger:
          
    web_worker:
             
    transports: [] 
    Du musst aber auf Contao 5.3.34 warten - denn hier gibt es noch einen Bug in Contao.
    » sponsor me via GitHub or Revolut

  19. #19
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Wow danke, das hätte ich wohl nicht gefunden.
    Hier noch der Hinweis auf die Dokumentation, was vsl. ab 5.3.34 funktionieren wird: https://docs.contao.org/dev/framewor...-configuration.
    (Muss mich selbst noch einlesen bei Gelegenheit.)

    Dann hoffe ich mal, der hoster macht mit, wenn ich es nach dem Update nochmal entsprechend einrichte. Und, dass dann wirklich nicht mehr vorkommt.
    Kann ich denn irgendwie prüfen, ob mein manueller cron-Aufruf (z.B. über URL) ausgeführt wird?

    Viele Grüße,

    fab44

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Wenn du contao.cron.web_listener: false gesetzt hast aber weiterhin Meldungen wie "Purged the temp folder" oder "Purged the expired double opt-in tokens" im System Log bekommst, dann wird der Cron ausgeführt.
    » sponsor me via GitHub or Revolut

  21. #21
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Die Tabelle existiert in Contao 5.3+ von Haus aus - und das Problem ist auch nicht der Inhalt der Tabelle, sondern die Abfrage drauf. Wenn man keinen minütlichen contao:cron Cronjob nutzt, wird die Tabelle mehrmals bei jedem Request abgefragt um zu überprüfen, ob Messages da sind. Und bei einem limitierten Shared Hosting könnte das dem SQL Server zu viel sein.
    Was für Nachrichten sind das denn, dass die minütlich abgearbeitet werden müssen?
    Der Hoster (in dem Fall MANITU) gibt vor, dass Cron-Jobs nur alle 5 Minuten laufen dürfen (auch wenn man es technisch wohl auch anders einstellen kann).

    Dann bin ich ja mal gespannt, ob ich auch angezählt werde. Bin ja mit der Vereinsseite jetzt auch bei denen.
    Da ich vorher keine nativen Cron-Jobs einrichten konnte, trigger ich den Cron über https://cron-job.org/de/ (aber auch nur alle 5 Minuten, da auf der Seite so gut wie nichts los ist)

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von neelix Beitrag anzeigen
    Was für Nachrichten sind das denn, dass die minütlich abgearbeitet werden müssen?
    Contao 5.3+ nutzt die Symfony Messenger Komponenten von Haus um gewisse Arbeiten asynchron auszuführen. Die Messages werden nicht "minütlich" abgearbeitet, sondern kontinuierlich.
    » sponsor me via GitHub or Revolut

  23. #23
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.471
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Was aber eigentlich viel interessanter wäre, wäre zu erfahren, warum der Hoster dieses Query als "hohe Last" bezeichnet. Ich mein, es ist ein SELECT Query. Wenn ich die Artikel-Ansicht im Backend von Contao öffne habe ich 400 SELECT-Queries. Ich sag nicht, dass das gut ist, aber die sind halt eigentlich günstig. Also die reine Anzahl kann irgendwie eigentlich nicht das Problem sein oder aber irgendwas bei dir sorgt dafür, dass es wirklich viele sind.
    Evtl. kann der Hoster ja noch weitere Details nennen
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  24. #24
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Ja, das wüsste ich auch gerne!
    Es ist einfach Contao 5.3 installiert, es war mal 4.13.
    Ursrünglich hatte es eine Agentur mit der LTS davor angelegt und die Templates erstellt (4.7?), die haben auch die Extensions ausgewählt (siehe Eingangspost).
    Ganz normal mit Contao Manager installiert, meine ich.

    Ich mache eigentlich nur Redaktion, ein paar Schönheitskorrekturen in der CSS-Datei und halt die Updates. Für das letzte Update bin ich auch alle Templates durchgegangen, da ist meiner Ansicht nach nix besonderes drin.

    Edit: Könnte es was bringen, wenn man die Prozesse begrenzt? Also z.B.:
    PHP-Code:
    contao:
        
    messenger:
            
    workers:
                -
                    
    transports:
                        - 
    contao_prio_high
                    options
    :
                        - --
    time-limit=300 # Wegen cron-Aufruf nur alle 5min
                        
    - --sleep=25
                    autoscale
    :
                        
    desired_size5
                        max
    # Zur Schonung des Datenbankservers
                
    -
                    
    transports:
                        - 
    contao_prio_normal
                    options
    :
                        - --
    time-limit=300 # Wegen cron-Aufruf nur alle 5min
                        
    - --sleep=50
                    autoscale
    :
                        
    desired_size10
                        max
    # Zur Schonung des Datenbankservers
                
    -
                    
    transports:
                        - 
    contao_prio_low
                    options
    :
                        - --
    time-limit=300 # Wegen cron-Aufruf nur alle 5min
                        
    - --sleep=100
                    autoscale
    :
                        
    desired_size20
                        max
    # Zur Schonung des Datenbankservers 
    Ist halt ziemliches rumgepfusche meinerseits, wenn ich gar nicht genau weiß, wie das von contao/symphony verwendet wird.
    Geändert von fab44 (30.06.2025 um 22:58 Uhr)

  25. #25
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.432
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn Du vom Hoster wie von @Toflar vorgeschlagen keine weiteren Infos bekommst, würde ich testweise mal die Contao-Demo in einer Testinstallation an den Start bringen und diese Seite "besuchen lassen" um zu sehen, ob dann die Last auch zu hoch ist.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  26. #26
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Es wird ja nicht durch Besuche ausgelöst. Wir haben ca. 12T Besuche im Monat, vor Allem unter der Woche tagsüber, aber schon verteilt. Dass diese Datenbankabfrage den Datenbankserver in die Knie zwingt passiert aber nur alle paar Tage. Und bisher habe ich es im lokalen Container nicht provozieren können, ich hatte da jetzt aber auch keine richtige Strategie.

    Auf meine Nachfragen nach genaueren Infos oder logfiles wurde nicht reagiert. Das einzige was ich also habe sind sehr ungefähre Zeitpunkte und der Hinweis auf diese Datenbankabfrage, der sie das jedes Mal zuschreiben konnten.

    Auf dem Server sollte ich das jetzt auch keinesfalls wieder testen, nachdem es ja doch nochmal vorgekommen ist.

    Kann ich denn jetzt mit 5.3.34 davon ausgehen, dass das nicht mehr passiert, wenn ich die Einstellung aus dem Post von Spooky vom 30.06. setze? Ich habe mir zwar die Diskussion auf Github durchgelesen und die Dokumentationsseite, die ich dazu verlinkt habe, aber ich als Anwender verstehe das leider immernoch zu wenig, um es meinem Problem eindeutig zuzuordnen.

  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von fab44 Beitrag anzeigen
    Es wird ja nicht durch Besuche ausgelöst. Wir haben ca. 12T Besuche im Monat, vor Allem unter der Woche tagsüber, aber schon verteilt. Dass diese Datenbankabfrage den Datenbankserver in die Knie zwingt passiert aber nur alle paar Tage. Und bisher habe ich es im lokalen Container nicht provozieren können, ich hatte da jetzt aber auch keine richtige Strategie.

    Auf meine Nachfragen nach genaueren Infos oder logfiles wurde nicht reagiert. Das einzige was ich also habe sind sehr ungefähre Zeitpunkte und der Hinweis auf diese Datenbankabfrage, der sie das jedes Mal zuschreiben konnten.
    Dass es nicht durch Besuche ausgelöst wird kannst du also nicht mit Sicherheit sagen.


    Zitat Zitat von fab44 Beitrag anzeigen
    Kann ich denn jetzt mit 5.3.34 davon ausgehen, dass das nicht mehr passiert, wenn ich die Einstellung aus dem Post von Spooky vom 30.06. setze?
    Diese Einstellung bewirkt, dass die Message Queue nicht im Web Request abgearbeitet wird (du musst dann anderweitig sicherstellen, dass die Requests abgearbeitet werden, bspw. über den Cronjob). Ob das dein Problem behebt ist nach wie vor ungewiss.

    Wenn, wie du sagst, das Problem nicht durch Besuche ausgelöst wird, dann würde auch diese Einstellung ja nichts bringen.
    » sponsor me via GitHub or Revolut

  28. #28
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.264
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Contao 5.3+ nutzt die Symfony Messenger Komponenten von Haus um gewisse Arbeiten asynchron auszuführen. Die Messages werden nicht "minütlich" abgearbeitet, sondern kontinuierlich.
    Bei welcher Gelegenheit wird denn der genannte SELECT ausgeführt, wenn die Message Queue nicht im Web-Request abgearbeitet wird? Bei jedem Cronjob einmal? Oder so oft, bis keine Messages mehr in der Queue sind? Oder/und grundsätzlich minütlich?

    Und wo können Messages prinzipiell herkommen? Die Systemjobs, klar. Inklusive Newsletterversand z.B. Dann Erweiterungen? Oder auch durch irgendwelche Requests von "außen"?

    Wie sind die Log-Einträge mit "MySQL-Server has gone away" zu interpretieren? Ist die Verbindung schon weg, wenn das SELECT startet oder geht sie irgendwann während der Ausführung verloren? Oder in anderen Worten: Heißt das, dass das SELECT manchmal zu lange dauert oder wird es einfach zu oft aufgerufen?

    Könnte es auch durch eine korrupte Tabelle / Index verursacht werden? Dann könnte ein repair der Tabelle bzw Neuaufbau des Index helfen.

    Vermutlich ist es auch einfach möglich, dass der Datenbankserver grundsätzlich schon stark belastet oder gar überlastet ist. Ist ja nichts ungewöhnliches im Shared Webhosting. Halte ich hier aber für eher unwahrscheinlich, ansonsten würde wahrscheinlich praktisch jeder Kunde so eine Message erhalten. Das SELECT sollte eigentlich auf den ersten Blick nicht so furchtbar problematisch sein. Außer wenn es eben (sehr!) viele Messages in der Queue gibt.

    Edit: Sehe gerade den Link zu dem Bug, das heißt man bekommt derzeit den Web-Worker gar nicht komplett deaktiviert. Das hieße dann wohl, dass weiterhin die Tabelle bei jedem Web-Request abgefragt wird?
    Geändert von tab (Gestern um 11:38 Uhr)

  29. #29
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Bei welcher Gelegenheit wird denn der genannte SELECT ausgeführt, wenn die Message Queue nicht im Web-Request abgearbeitet wird? Bei jedem Cronjob einmal? Oder so oft, bis keine Messages mehr in der Queue sind? Oder/und grundsätzlich minütlich?
    Kontinuierlich. Kurz umrissen: contao:cron startet den Supervisor. Der Supervisor prüft, wieviele Worker Prozesse pro Queue gerade laufen. Wenn zuwenig (oder keine) Worker laufen, werden Prozesse gestartet. Diese Prozesse laufen dann alle eine Minute lang und bearbeiten in der Zeit Messages, wenn welche da sind.

    Siehe https://docs.contao.org/dev/framework/async-messaging/
    » sponsor me via GitHub or Revolut

  30. #30
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Außer wenn es eben (sehr!) viele Messages in der Queue gibt.
    Nein, das ist unerheblich - weil es wird ja immer nur eine Message geholt, nicht alle auf einmal.
    » sponsor me via GitHub or Revolut

  31. #31
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Edit: Sehe gerade den Link zu dem Bug, das heißt man bekommt derzeit den Web-Worker gar nicht komplett deaktiviert.
    Nein, das wurde schon behoben.
    » sponsor me via GitHub or Revolut

  32. #32
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.264
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nein, das ist unerheblich - weil es wird ja immer nur eine Message geholt, nicht alle auf einmal.
    Klar, das Ergebnis ist eine Message oder eben keine, wenn keine da ist. Aber zumindest der Aufwand dafür ändert sich doch!? Es müssen alle in Frage kommenden Messages in der Queue berücksichtigt und nach "available_at" sortiert werden, damit auch die "richtige" Message geholt wird.

    Was mir trotz Doku noch nicht klar ist, wahrscheinlich bin ich da einfach nicht tief genug drin: Es wird immer von "the" WebWorker gesprochen, gibt es tatsächlich nur einen davon oder einen pro Request? Kann es bei vielen Requests in kurzer Zeit passieren, dass das SELECT mehrmals "gleichzeitig" ausgeführt werden soll? Das würde dann wohl nicht mehr passieren, wenn nur noch der Cronjob die Messages bearbeitet.

    Wird wohl eh nichts übrig bleiben als ein Update auf 5.3.34, was ja mittlerweile verfügbar ist. Und dann hoffen... Was hängt denn außer der Website noch an dem Webhosting-Paket, was von einer Abschaltung betroffen wäre? Naja, vermutlich mindestens die Domain?!? Mit der "statischen Webseite" sollte aber nichts passieren. Nur wird man so die Ursache nie finden. Eventuell die problematische Website woanders unter einer Subdomain laufen lassen und debuggen?

    Falls es hilft, könnte ich kurzfristig kostenlos und unbürokratisch Webspace für die Tests anbieten, der auch bei "erheblicher Systemlast" zumindest nicht deaktiviert wird . Könnte höchstens der Server abschmieren , was aber eher unwahrscheinlich sein dürfte und im Fall der Fälle für mich auch unproblematisch wäre. Da läuft derzeit nichts Produktives mehr drauf, weil der Server sowieso irgendwann weg soll und das alles bereits umgezogen ist.

  33. #33
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.156
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Was mir trotz Doku noch nicht klar ist, wahrscheinlich bin ich da einfach nicht tief genug drin: Es wird immer von "the" WebWorker gesprochen, gibt es tatsächlich nur einen davon oder einen pro Request? Kann es bei vielen Requests in kurzer Zeit passieren, dass das SELECT mehrmals "gleichzeitig" ausgeführt werden soll? Das würde dann wohl nicht mehr passieren, wenn nur noch der Cronjob die Messages bearbeitet.
    Es gibt auf jeden Fall mehrere SELECT weil es ja insgesamt 3 Queues gibt von Haus aus.
    » sponsor me via GitHub or Revolut

  34. #34
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    @Spooky 10:36 Uhr
    Ich gehe schon davon aus, dass es irgendwie durch Besuche ausgelöst wird, wenn ohne Besuche gar nichts passieren kann. Ich meinte, dass ich nicht einfach einen Besuch machen und es dann beobachten kann.

    @Spooky 12:54 Uhr
    5.3.34 habe ich noch nicht installiert, ich würde gerne erst testen, ob es damit aufhört.

    @tab 13:46 Uhr
    Also ich denke auch, dass "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" schon eine Folge des Problems ist.
    Die Domain ist woanders (glaube Strato), die wird auch für andere Dienste verwendet, mit denen ich nix zu tun habe. Es ist nur die Webseite. Kündigung/Umzug/Neuer Vertrag ist halt ein ziemlich bürokratischer Prozess über Schulleitung und Landkreis. Wenn das die Probleme nachhaltig behebt gehe ich das an. Bevor ich die Abschaltung durch manitu riskiere, sollte ich da schon eine Zusage haben.
    Am liebsten würde ich sie tatsächlich mal für eine Woche woanders laufen lassen, vielleicht mit gescripteten Besuchen oder direkt mit nem 5min-cronjob, wie ich es ja bei dem Hosting dann einrichten würde. Ich müsste dann überlegen, wie ich diese Momente mitbekomme. Wahrscheinlich kann man bei nem MySQL-Dienst auch irgendwie verbose logging einschalten und vom Betriebssystem irgendwie den Ressourcenverbrauch loggen lassen? Gibt's da Möglichkeiten auf diesem Test-Webspace? Vielen Dank jedenfalls für das Angebot!

    Sonst könnte ich das mal in einem DDEV-Container versuchen. Da müsste ich halt ebenso schauen, wie ich das überwachen kann, ob die Container und Dienste von irgendwelchen Energiespareinstellungen ausgenommen sind und ob mein Rechner zu Hause tatsächlich eine Woche am Stück anbleibt, das habe ich lange nicht mehr ausprobiert.

  35. #35
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.264
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von fab44 Beitrag anzeigen
    @tab 13:46 Uhr
    Also ich denke auch, dass "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" schon eine Folge des Problems ist.
    Die Domain ist woanders (glaube Strato), die wird auch für andere Dienste verwendet, mit denen ich nix zu tun habe. Es ist nur die Webseite. Kündigung/Umzug/Neuer Vertrag ist halt ein ziemlich bürokratischer Prozess über Schulleitung und Landkreis. Wenn das die Probleme nachhaltig behebt gehe ich das an. Bevor ich die Abschaltung durch manitu riskiere, sollte ich da schon eine Zusage haben.
    Am liebsten würde ich sie tatsächlich mal für eine Woche woanders laufen lassen, vielleicht mit gescripteten Besuchen oder direkt mit nem 5min-cronjob, wie ich es ja bei dem Hosting dann einrichten würde. Ich müsste dann überlegen, wie ich diese Momente mitbekomme. Wahrscheinlich kann man bei nem MySQL-Dienst auch irgendwie verbose logging einschalten und vom Betriebssystem irgendwie den Ressourcenverbrauch loggen lassen? Gibt's da Möglichkeiten auf diesem Test-Webspace? Vielen Dank jedenfalls für das Angebot!

    Sonst könnte ich das mal in einem DDEV-Container versuchen. Da müsste ich halt ebenso schauen, wie ich das überwachen kann, ob die Container und Dienste von irgendwelchen Energiespareinstellungen ausgenommen sind und ob mein Rechner zu Hause tatsächlich eine Woche am Stück anbleibt, das habe ich lange nicht mehr ausprobiert.
    Muss ich mal schauen, welche Möglichkeiten sich anbieten. Alle Queries zu loggen ist durchaus möglich, kann aber natürlich recht schnell riesige Logs erzeugen die dann schwer auszuwerten sind. Nur langsame Queries oder auch Fehler zu loggen wäre auch möglich, wobei ich eigentlich nicht glaube, das das Query besonders langsam ist. Aber wer weiss. Dann gibt es noch Konsolentools wie mytop, hilfreich, aber für eine tagelange Überwachung eher nicht geeignet. Eventuell Monitoring Tools.

    Derzeit ist nichts davon aktiv, wäre aber machbar. Das kann man ja alles installieren. Vorher mache ich dann halt einen Snapshot des Servers, dann kann nicht viel passieren. Zumal eh nichts mehr drauf ist was noch gebraucht wird und nicht anderswo gesichert wäre.

    Im Prinzip geht es nach meinem derzeitigen Verständnis darum, zu schauen, wie oft die SELECT Statements für die 3 Queues bei verschiedenen Anlässen (Cronjob läuft, Requests von außen, ?) auf die DB losgelassen werden und wie lange die Ausführung jeweils dauert. Falls man feststellt, dass Requests gar nichts mehr bewirken, dass also der Webworker wirklich völlig deaktiviert ist und ein Request nicht mehr diese SELECT Statemenst nach sich zieht, muss man das nicht weiter betrachten und kann sich auf den Cronjob konzentrieren.

    Die Frage ist auch, was die bei Manitu unter "hoher Systemlast" verstehen. Was auf einem Shared Hosting mit Hunderten Kunden auf dem Server für einen einzelnen Kunden als zuviel angesehen wird, kann den selben Server mit nur einem oder zwei Kunden drauf zu Tode langweilen. Oft sind die Server halt auch ziemlich überbucht, also meckert man vorsichtshalber mal bei denen, die die meiste Last erzeugen.

    Vielleicht wäre es auch eine Idee, die Last erst mit der derzeitigen Version anzuschauen, dann das Update zu machen und schauen ob und ggf. was sich ändert.

  36. #36
    Contao-Nutzer
    Registriert seit
    07.05.2021.
    Beiträge
    15

    Standard

    Also sehr gerne natürlich! Morgen und übermorgen bin ich erstmal mit Prüfungen ausgelastet, evtl. könnte ich es am Samstag umziehen, sonst nächste Woche, sobald es passt. Besprechen wir Details per PM oder über einen anderen Weg?

  37. #37
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.264
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich denke PM ist erst mal ok. Zumindest für den Anfang, dann können wir immer noch nach Bedarf geeignetere Methoden dazunehmen. Der Zeitplan ist auch gut, da kann ich in Ruhe noch ein paar Tools installieren und ausprobieren und den "Kundenaccount" vorbereiten.

  38. #38
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Was erzeugt denn z.B. einen Eintrag in der tl_message_queue, der dann abgearbeitet werden muss.

    Ein Cron Aufruf erzeugt bei mir nur folgende Queries:

    Code:
    2025-07-02T20:39:38.096992Z     143129 Query    SET SESSION sql_mode=CONCAT(@@sql_mode, IF(INSTR(@@sql_mode, 'STRICT_'), '', ',TRADITIONAL'))
    2025-07-02T20:39:38.097879Z     143129 Query    SELECT @@lock_wait_timeout
    2025-07-02T20:39:38.098326Z     143129 Query    SET SESSION lock_wait_timeout = 1
    2025-07-02T20:39:38.098415Z     143129 Query    LOCK TABLES tl_cron_job WRITE, tl_cron_job AS t0 WRITE, tl_cron_job AS t0_ WRITE
    2025-07-02T20:39:38.102880Z     143129 Query    SET SESSION lock_wait_timeout = 31536000
    2025-07-02T20:39:38.107330Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.legacy::onMinutely' LIMIT 1
    2025-07-02T20:39:38.110540Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.legacy::onHourly' LIMIT 1
    2025-07-02T20:39:38.110800Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.legacy::onDaily' LIMIT 1
    2025-07-02T20:39:38.111085Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.legacy::onWeekly' LIMIT 1
    2025-07-02T20:39:38.111372Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.legacy::onMonthly' LIMIT 1
    2025-07-02T20:39:38.111659Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.purge_expired_data::onHourly' LIMIT 1
    2025-07-02T20:39:38.111854Z     143129 Query    SELECT t0.id AS id_1, t0.name AS name_2, t0.lastRun AS lastRun_3 FROM tl_cron_job t0 WHERE t0.name = 'contao.cron.purge_preview_links' LIMIT 1
    2025-07-02T20:39:38.112060Z     143129 Query    UNLOCK TABLES
    2025-07-02T20:39:38.114734Z     143129 Quit

  39. #39
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    Ah, sorry, das ist noch eine 4.13er.

  40. #40
    Alter Contao-Hase
    Registriert seit
    28.11.2009.
    Ort
    Remscheid
    Beiträge
    1.049

    Standard

    So, ich habe die 4.13 mal eben zu einer 5.3 gemacht.

    Das Problem ist sicher nicht das SQL Query. Das ist im Bruchteil einer Sekunde erledigt.
    Aber der Cron-Prozess selbst läuft einige Zeit.
    Code:
    time /opt/php-8.3/bin/php vendor/bin/contao-console contao:cron
    
    real    1m25.555s
    user    0m0.748s
    sys     0m0.294s
    Der spawned dann nämlich ein paar Subprozesse:

    Code:
     313343 pts/1    S+     0:00  |                       \_ /opt/php-8.3/bin/php vendor/bin/contao-console contao:cron
     313345 pts/1    S+     0:00  |                           \_ /opt/php-8.3/bin/php -n -c /tmp/1PNwmE /var/www/web0/html/demo/bin/console contao:supervise-workers
     313348 pts/1    S+     0:00  |                               \_ /opt/php-8.3/bin/php -n -c /tmp/MDrxHz /var/www/web0/html/demo/bin/console messenger:consume --time-limit=60 --sleep=5 contao_prio_high
     313349 pts/1    S+     0:00  |                               \_ /opt/php-8.3/bin/php -n -c /tmp/x7RzZa /var/www/web0/html/demo/bin/console messenger:consume --time-limit=60 --sleep=10 contao_prio_normal
     313350 pts/1    S+     0:00  |                               \_ /opt/php-8.3/bin/php -n -c /tmp/9ojFQj /var/www/web0/html/demo/bin/console messenger:consume --time-limit=60 --sleep=20 contao_prio_low
    Und möglicherweise sind die das Problem, wenn durch die Seitenaufrufe zu viele davon gestartet werden bzw. die vorhandenen ggf. länger laufen, weil neue "Aufgaben" dazu kommen.

    Ich habe hier jetzt nur eine Demo Installation mit dem OPTIMIST Theme genutzt, auf der Seite passiert halt nichts.
    Geändert von neelix (Gestern um 22:22 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •