Hooks werden nicht immer ausgeführt! - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html) +--- Thema: Hooks werden nicht immer ausgeführt! (/thread-24132.html) |
Hooks werden nicht immer ausgeführt! - icarus - 16.11.2011 Moin! Ich bin am debuggen eines Problems. Dabei habe ich festgestellt, dass Hooks anscheinend nicht immer ausgeführt werden. Das Folgende ist meine zu Debugzwecken veränderte inc/functions.php: PHP-Code: $file = fopen("/tmp/mailqueue", "a+"); Im Hook sieht es so aus: PHP-Code: $plugins->add_hook('send_mail_queue_mail', 'syncom_send_mail_queue_mail'); Dieses Logfile sieht nun so aus: Code: 2011.11.16 12:58:06 3-Pre Hook Da mein gesamtes Kommunikationssystem auf der Zuverlässigkeit der Hooks basiert, schiebe ich hier leicht Panik. Michael RE: Hooks werden nicht immer ausgeführt! - StefanT - 16.11.2011 Das hat wahrscheinlich etwas damit zu tun, dass die Funktion beim shutdown ausgeführt wird und dort schon verschiedene System neu gestartet werde müssen, darunter das Plugin-System (scheinbar ohne die Hooks wieder zu laden, was ein Bug wäre). Du kannst versuchen die Einstellung useshutdownfunc umzustellen um dies zu verhindern. RE: Hooks werden nicht immer ausgeführt! - icarus - 16.11.2011 Danke für die schnelle Antwort! Die Einstellung "useshutdownfunc" ist bei mir derzeit auf "nein". Was kann schlimmstenfalls passieren, wenn ich die umstelle? Das Forum hat derzeit >2.000 Posts am Tag, da bin ich vorsichtig mit dem Experimentieren, wenn ich die Folgen nicht kenne Michael RE: Hooks werden nicht immer ausgeführt! - StefanT - 16.11.2011 Das ist schon auf Nein? Damit hätte ich erwartet, dass es auf jeden Fall funktioniert. Passieren kann da nichts, PHP5 unterstützt die shutdown-Funktionen und von Problemen habe ich auch nichts gehört. Ansonsten bleibt mein Rat ausnahmsweise mal eine Code-Änderung zu verwenden. Manchmal geht es einfach nicht anders. RE: Hooks werden nicht immer ausgeführt! - frostschutz - 16.11.2011 http://dev.mybb.com/issues/1710 RE: Hooks werden nicht immer ausgeführt! - StefanT - 16.11.2011 Stimmt, dann wird run_shutdown() immer nochmal über die destruct-Funktion ausgeführt... RE: Hooks werden nicht immer ausgeführt! - icarus - 16.11.2011 Danke für die Recherche! Das klingt nach einiger Bastelei :-( RE: Hooks werden nicht immer ausgeführt! - frostschutz - 16.11.2011 Fang mit dem Shutdown Setting an, das auf Ja zu stellen könnte schon einige Probleme beheben... RE: Hooks werden nicht immer ausgeführt! - StefanT - 16.11.2011 (16.11.2011, 15:41)frostschutz schrieb: Fang mit dem Shutdown Setting an, das auf Ja zu stellen könnte schon einige Probleme beheben...Damit könnte der Hook dann allerdings gar nicht mehr funktionieren. RE: Hooks werden nicht immer ausgeführt! - icarus - 16.11.2011 Wenn "useshutdownfunc" aktiviert ist, werden übrigens keinerlei Benachrichtigungen mehr ausgesendet. Dementsprechend ist es anscheinend besser, die Funktion deaktiviert zu belassen. |