我想遍历我的Laravel应用程序中的1000个数据库记录,以获取每个单独记录的Google分析数据。与Google Analytics API的连接大约在1小时后关闭,因此我无法使用foreach循环一次遍历所有这1000条记录。我一次可以迭代大约350条记录,例如在这1小时内。如何使用crontab在php中循环使用循环中的元素
我想使用调度程序运行我的PHP代码,例如nginx crontab。我想知道如何在调度程序的特定时间处理前350条记录,然后在调度程序的另一个时间帧处理下350条记录等等。
实现此目的的一种方法是使用三个单独的文件,这些文件将包含用于处理不同记录并在不同crontab时间范围内调度单个文件的相同逻辑。
但我不想创建3个单独的文件,而是想用单个文件在不同的时间框架下使用Crontab处理所有1000条记录。有什么办法可以做到这一点?
下面是我的代码片段:
$models = DB::table('gatestmodels')
->join('carmodels', 'gatestmodels.ID', '=', 'carmodels.ID')
->select('gatestmodels.ID', 'gatestmodels.MaskingName')
->where('CarMakeId', $make->ID)
->OrderBy('gatestmodels.ID')
->get()
;
foreach($models as $model)
{
$segment = "sessions::condition::ga:pagePath=~/".$make->MaskingName."-cars/".$model->MaskingName."/";
$data = $analytics
->data_ga
->get(
'ga:' . $this->profile_ids[0],
$this->start_date,
$this->end_date,
$metrics,
$segment
)
;
}