function ping_host($uuid) { $artica_meta = new mysql_meta(); meta_events("ping_host to {$uuid}"); $public_ip = $artica_meta->uuid_to_public_ip($uuid); if ($public_ip == null) { meta_admin_mysql(1, "{$uuid}: ping Failed public_ip is null", $curl->errors, __FILE__, __LINE__); return; } $uri = "https://{$public_ip}:9000/artica.meta.listener.php?wakeup=yes"; $curl = new ccurl($uri, true); $curl->NoHTTP_POST = true; $curl->Timeout = 5; if (!$curl->get()) { meta_admin_mysql(1, "{$uuid}: Unable to ping {$public_ip}:9000", $q->mysql_error, __FILE__, __LINE__); continue; } if (!preg_match("#<ARTICA_META>SUCCESS</ARTICA_META>#is", $curl->data)) { meta_admin_mysql(1, "{$uuid}: ping {$public_ip}:9000 failed", $curl->errors, __FILE__, __LINE__); } else { meta_admin_mysql(2, "{$uuid}: Ping {$public_ip}:9000 success", $curl->errors, __FILE__, __LINE__); } meta_events("ping_host done"); }
function ping_host($uuid) { $sock = new sockets(); $ArticaMetaUseSendClient = intval($sock->GET_INFO("ArticaMetaUseSendClient")); if ($ArticaMetaUseSendClient == 0) { return; } if (isset($GLOBALS["UUID_PINGED"][$uuid])) { return; } $GLOBALS["UUID_PINGED"][$uuid] = true; $artica_meta = new mysql_meta(); echo "Notify ping_host to {$uuid}\n"; meta_events("ping_host to {$uuid}"); $public_ip = $artica_meta->uuid_to_public_ip($uuid); if ($public_ip == null) { meta_admin_mysql(1, "{$uuid}: ping Failed public_ip is null", $curl->errors, __FILE__, __LINE__); return; } order_uuid($uuid, true); $uri = "https://{$public_ip}:9000/artica.meta.listener.php?wakeup=yes"; $curl = new ccurl($uri, true); $curl->NoHTTP_POST = true; $curl->Timeout = 5; if (!$curl->get()) { meta_admin_mysql(1, "{$uuid}: Unable to ping {$public_ip}:9000", $q->mysql_error, __FILE__, __LINE__); return; } if (!preg_match("#<ARTICA_META>SUCCESS</ARTICA_META>#is", $curl->data)) { meta_admin_mysql(1, "{$uuid}: ping {$public_ip}:9000 failed", $curl->errors, __FILE__, __LINE__); } else { meta_admin_mysql(2, "{$uuid}: Ping {$public_ip}:9000 success", $curl->errors, __FILE__, __LINE__); } meta_events("ping_host done"); }