为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Phrets (Bright MLS) 加快从 MLS 导入的 Ret 提要

如何使用 Phrets (Bright MLS) 加快从 MLS 导入的 Ret 提要

PHP
临摹微笑 2021-09-05 18:03:54
我是 RETS 导入的新手,所以我开发了这个脚本:<?phpuse Aws\Credentials\Credentials;use Aws\S3\S3Client;date_default_timezone_set('America/New_York');/* --------------------------------------------------------------- GET THE ARRAY OF SELECTED FIELDS TO INDEX FROM MLS -----------------------------------------------------------*/require_once ('retsfields.php');$filteredretsfields = array_filter( $retsfields );/* --------------------------------------------------------------- DATABASE --------------------------------------------------------------------*/$servername = "xxx";$username = "xxx";$password = "xxx";$dbname = "xxx";// Create connection$conn = new mysqli($servername, $username, $password, $dbname);mysqli_query($conn, "SET SESSION sql_mode = ''");// Check connectionif ($conn->connect_error) {    die("Connection failed: " . $conn->connect_error);}$startTime = date('Y-m-d H:i:s');原则上代码运行良好,虽然我有一些内存问题,请参阅我在代码中的注释。我主要关心的是如何改进、加快导入过程。我需要索引的 MLS 是 Bright MLS。Bright 要求我们在我们的服务器上存储所有数据,包括图像。所以我让这段代码运行了过去 18 个小时,它导入了大约 8000 个列表和 200.000 张图片,然后由于网关错误而崩溃。我知道这种大规模导入只需要一次(开始时),之后我可以每 x 小时进行一次部分更新。所以我有两个问题:我怎样才能让它更稳定,让我更容易地从这些崩溃中恢复过来,因为这意味着我每次都需要从头开始重新启动。我怎样才能加快导入速度,因为在这个速度下,导入所有列表需要 11 天。也许我不需要保留5年的历史我想导入没有图像的所有内容,存储图像 url,所以完整的 MLS 被索引。在我运行一个过程来一张一张地获取这些图像之后(这需要 11 天)。关于将图像导入推送到 Amazon SQS 队列的任何想法(无经验)。非常感谢
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您可以拆分列表数据和图像导入过程。首先下载所有列表详细信息,然后尝试获取它们的图像。这样,就不会出现崩溃或内存问题。


查看完整回答
反对 回复 2021-09-05
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我只是回答你的两个问题


我怎样才能让它更稳定,让我更容易地从这些崩溃中恢复过来,因为这意味着我每次都需要从头开始重新启动。

您可以拆分查询以获取数据。考虑您需要最近 5 年的历史数据,然后您可以像下面这样拆分查询


$query1 = (ModificationTimestamp=2016-01-01T00:00:00-2016-12-31T23:59:59);

$query2 = (ModificationTimestamp=2017-01-01T00:00:00-2017-12-31T23:59:59);

$query3 = (ModificationTimestamp=2018-01-01T00:00:00-2018-12-31T23:59:59);

$query4 = (ModificationTimestamp=2019-01-01T00:00:00-2019-12-31T23:59:59);

$query5 = (ModificationTimestamp=2020-01-01T00:00:00+);

如果需要,进一步拆分并运行。可以根据您的逻辑在循环中运行这些拆分查询。因此,如果中间停止,您就会知道它崩溃了哪个批次以及您需要从哪里重新启动。


我怎样才能加快导入速度,因为在这个速度下,导入所有列表需要 11 天。也许我不需要保留5年的历史

这完全取决于MLS板。他们保持提取速度。一些 MLS 板可能会根据要求临时增加带宽。在这段时间内尝试提取完整数据。


查看完整回答
反对 回复 2021-09-05
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信