Heim > Fragen und Antworten > Hauptteil
Wir entwickeln derzeit ein Projekt mit dem Laravel-Framework. Die erforderlichen Daten werden durch die Durchführung entsprechender Abfragen, Berechnungen und Verarbeitungen in der Datenbank ermittelt erfordert das Schreiben eines Timers. Die Aufgabe beginnt jede Nacht um 0 Uhr und endet, nachdem alle Daten verarbeitet wurden. Ich habe jetzt eine Methode in den Laravel-Controller geschrieben, um die Daten in der Datenbank zu verarbeiten. Jetzt muss ich diese Methode nur noch in einer regulären Schleife ausführen, um die Funktion zu erreichen.
Aber jetzt weiß ich nicht, wie ich es regelmäßig ausführen soll? Wird es im PHP-CLI-Modus ausgeführt? Oder eine Artisan-Konsole zur Ausführung verwenden? Suchen Sie Rat?PHPz2017-05-27 17:44:05
1.大数据量最好就别拉出来应用层玩啦,写个mysql的存储过程或者函数。(调用可以通过mysql事件调用),这样处理会非常节省资源。
2.还是写到存储过程,可以配合 linux中的 crond定时任务进行定时处理。
曾经蜡笔没有小新2017-05-27 17:44:05
Laravel 的 Scheduling 我觉得非常符合你的需求,中文文档在这里。
http://d.laravel-china.org/do...
淡淡烟草味2017-05-27 17:44:05
这玩意看你公司需求了,有运维的话,你自己写个方法来操作数据,让运维写个脚本来定时请求这个方法就行了。没有运维并且你老板也不让你动服务器的话,可以选择写一个PHP脚本来操作数据,用sleep和循环来搞定,把这个文件放到连接中,用header函数来访问请求这个链接
巴扎黑2017-05-27 17:44:05
我来推荐几个定时任务的库。用composer加载
Dispatcher 基于Laravel的定时任务管理
swoole-crontab 基于swoole的定时器程序,支持秒级处理
jobby 一个 PHP 的定时任务管理器
cronlingo Express crontabs as human friendly phrases
没事的话可以去awesomes-php中去看
看不懂英文我这里有一个备份也可以查看点击此处跳转