private function generateGuid()
{
//to make sure the guid is unique for the async result
while (1) {
$guid = md5(microtime(true) . mt_rand(1, 1000000) . mt_rand(1, 1000000));
//prevent the guid on the async list
if (!isset(self::$asynclist[$guid])) {
return $guid;
}
}
}