Der DBA in meiner Firma verfügt über ein Skript, das lang laufende Datenbankverbindungen und Abfragen in unseren Produktionsdatenbanken automatisch beendet. Ich habe eine CakePHP-Shell-Anwendung geschrieben, die in einer Schleife läuft, quasi wie ein Daemon, der periodisch Lese- und Schreibvorgänge in der Datenbank ausführen muss. Wenn es zu lange läuft, wird die Datenbankverbindung durch das Wartungsskript geschlossen und meine App-Fehler werden beseitigt.Verhindern, dass sich CakePHP automatisch mit der Datenbank verbindet, wenn das Modell instanziiert wird
Betrachtet man die CakePHP-Quelle, so scheint es, als ob bei der Instanziierung eines Modells automatisch versucht wird, sich mit der entsprechenden Datenbank zu verbinden. Gibt es eine Möglichkeit, nur bei einer Abfrage eine Verbindung zur Datenbank herzustellen, und dann die Verbindung trennen?
Ich glaube nicht, dass es eine saubere Art und Weise ist, dies zu tun, ohne den Kern zu berühren, ich würde darüber nachdenken und vielleicht eine Antwort am Morgen geben. Aber IMHO, dass DBA-Politik macht keinen Sinn, wissen Sie, warum sie es tun? – luchomolina
Obwohl es einen sauberen Weg geben könnte, um das zu erreichen, was du in CakePHP machen willst, muss ich @luchomolina zustimmen, da stimmt etwas nicht. Es ist entweder die Richtlinie, oder es ist die Tatsache, dass Ihre Shell ständig läuft. Ist es nicht möglich, Ihr Shell-Skript regelmäßig auszuführen (als Cron-Job?). Ich weiß, dass dieser Kommentar Ihr Problem nicht löst (weshalb ich versucht habe, unten eine nützliche Antwort zu geben), aber es ist etwas, worüber Sie nachdenken sollten. – Joep