创建将api中的数据同步到数据库的作业的最佳方法

时间:2016-10-29 06:16:54

标签: php laravel amazon amazon-mws

我正在处理亚马逊mws api及其超级痛苦。我想创建一个cron,它将在以后出去从api获取大量数据并将其本地存储在数据库中。这样做的最佳方法是什么,因为它将处理大量数据并不确定我是否需要创建工作,任务或诸如此类而不会崩溃或超时。我正在使用laravel 5.3

1 个答案:

答案 0 :(得分:0)

我认为解决此问题的最佳方法是creating jobs。在大多数情况下,这很好地解决了PHP的内存限制,因为CLI限制通常高于HTTP请求的限制。

如果您不想timeout您的工作人员,那么您可以将您的队列视为:

php artisan queue:work --timeout=0

现在的问题是如何使用cron发送作业dispatch(new SomeProcess());

所以答案是使用Laravel的Task Scheduling作为:

$schedule->call(function () {
    dispatch(new SomeProcess());
})->daily();