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

我是 RETS 导入的新手,所以我开发了这个脚本:

<?php

use 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 connection

if ($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 队列的任何想法(无经验)。

非常感谢


临摹微笑
浏览 170回答 2
2回答

泛舟湖上清波郎朗

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

慕哥9229398

我只是回答你的两个问题我怎样才能让它更稳定,让我更容易地从这些崩溃中恢复过来,因为这意味着我每次都需要从头开始重新启动。您可以拆分查询以获取数据。考虑您需要最近 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 板可能会根据要求临时增加带宽。在这段时间内尝试提取完整数据。
打开App,查看更多内容
随时随地看视频慕课网APP