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