[DAEMONS] Move resetDb to the Daemon class
As it is used inside the Daemon class now, it should always be available.
This commit is contained in:
parent
344db5dcdf
commit
3460c13535
|
@ -41,6 +41,41 @@ class Daemon
|
||||||
$this->_id = $id;
|
$this->_id = $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reconnect to the database for each child process,
|
||||||
|
* or they'll get very confused trying to use the
|
||||||
|
* same socket.
|
||||||
|
*/
|
||||||
|
protected function resetDb()
|
||||||
|
{
|
||||||
|
global $_DB_DATAOBJECT;
|
||||||
|
|
||||||
|
// Can't be called statically
|
||||||
|
$user = new User();
|
||||||
|
$conn = $user->getDatabaseConnection();
|
||||||
|
$conn->disconnect();
|
||||||
|
|
||||||
|
// Remove the disconnected connection from the list
|
||||||
|
foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) {
|
||||||
|
if ($v === $conn) {
|
||||||
|
unset($_DB_DATAOBJECT['CONNECTIONS'][$k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reconnect main memcached, or threads will stomp on
|
||||||
|
// each other and corrupt their requests.
|
||||||
|
$cache = Cache::instance();
|
||||||
|
if ($cache) {
|
||||||
|
$cache->reconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Also reconnect memcached for status_network table.
|
||||||
|
if (!empty(Status_network::$cache)) {
|
||||||
|
Status_network::$cache->close();
|
||||||
|
Status_network::$cache = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function background()
|
public function background()
|
||||||
{
|
{
|
||||||
// Database connection will likely get lost after forking
|
// Database connection will likely get lost after forking
|
||||||
|
|
|
@ -189,41 +189,6 @@ abstract class SpawningDaemon extends Daemon
|
||||||
exit($exitCode);
|
exit($exitCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Reconnect to the database for each child process,
|
|
||||||
* or they'll get very confused trying to use the
|
|
||||||
* same socket.
|
|
||||||
*/
|
|
||||||
protected function resetDb()
|
|
||||||
{
|
|
||||||
global $_DB_DATAOBJECT;
|
|
||||||
|
|
||||||
// Can't be called statically
|
|
||||||
$user = new User();
|
|
||||||
$conn = $user->getDatabaseConnection();
|
|
||||||
$conn->disconnect();
|
|
||||||
|
|
||||||
// Remove the disconnected connection from the list
|
|
||||||
foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) {
|
|
||||||
if ($v === $conn) {
|
|
||||||
unset($_DB_DATAOBJECT['CONNECTIONS'][$k]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reconnect main memcached, or threads will stomp on
|
|
||||||
// each other and corrupt their requests.
|
|
||||||
$cache = Cache::instance();
|
|
||||||
if ($cache) {
|
|
||||||
$cache->reconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Also reconnect memcached for status_network table.
|
|
||||||
if (!empty(Status_network::$cache)) {
|
|
||||||
Status_network::$cache->close();
|
|
||||||
Status_network::$cache = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function log($level, $msg)
|
public function log($level, $msg)
|
||||||
{
|
{
|
||||||
common_log($level, get_class($this) . ' ('. $this->get_id() .'): '.$msg);
|
common_log($level, get_class($this) . ' ('. $this->get_id() .'): '.$msg);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user