【发布时间】:2017-09-06 13:57:21
【问题描述】:
我一直在从事一个在两个数据库之间搜索匹配项的项目,但是当 cronjob 运行时,我会收到 503 错误。
变量源是像'Peter' 或'Margot' 这样的名字。 name_key 是数组的键,如 'name' 或 'event'。
global $dbh;
global $dbh_second;
$import_sql = $dbh->prepare('SELECT name_key FROM imports WHERE name = :source');
$import_sql->bindParam(':source', $source, PDO::PARAM_STR);
$import_sql->execute();
$name = $import_sql->fetch(PDO::FETCH_ASSOC);
$source = strtolower($source);
$import_data_sql = $dbh->prepare('SELECT * FROM import_data WHERE source = :source AND import_key = :key');
$import_data_sql->bindParam(':key', $name['name_key'], PDO::PARAM_STR);
$import_data_sql->bindParam(':source', $source, PDO::PARAM_STR);
$import_data_sql->execute();
$import_data = $import_data_sql->fetchAll(PDO::FETCH_ASSOC);
foreach ($import_data as $filter) {
$column = $filter['import_key'];
$party_sql = $dbh_second->prepare("SELECT * FROM `digi_gz_parties` WHERE name LIKE :value");
$party_sql->bindParam(':value', $filter['import_value'], PDO::PARAM_STR);
$party_sql->execute();
if($party = $party_sql->fetch(PDO::FETCH_ASSOC)) {
$import_check_sql = $dbh->prepare('UPDATE import_data SET status = 1 WHERE source = :source AND import_value LIKE :value AND created_at = :max');
$import_check_sql->bindParam(':max', $filter['max_data'], PDO::PARAM_STR);
$import_check_sql->bindParam(':value', $filter['import_value'], PDO::PARAM_STR);
$import_check_sql->bindParam(':source', $source, PDO::PARAM_STR);
$import_check_sql->execute();
}
}
是他们的另一种解决方案,还是我需要将超时秒数设置得更高?
非常感谢!
【问题讨论】:
-
您在网络服务器 (Apache ?) 错误日志中收到的错误消息是什么?
-
503 超时 30 秒。
-
超时。你应该增加执行时间 set_time_limit(0);
-
是的,但这是唯一的解决方案吗?