问题描述
我想利用Laravels Artisan Commands与Laravel构建一个纯CLI应用程序。
现在,我想知道这些命令是否像通过CLI调用的其他任何PHP脚本一样。 通常的行为是通过CLI调用的PHP脚本可能永远运行。这是我对Artisan Commands想要的确切行为。
问题是:
- 通过
PHP artisan <command-category>:<command>
调用的命令是否超时? - 从Artisan Command触发的作业是否有超时(与同步/数据库模式相比)?
- 如果命令超时,从CLI调用的PHP脚本中调用命令时是否也超时?
我有一个FTP服务器,每天可以接收几次上传。这些上传文件是zip存档,大小最大为3GB。我要构建的是脚本,是遍历所有档案并执行以下操作:
解决方法
是否通过php artisan调用了一个命令:超时了?
Laravel不会默认处理超时,因为这些只是基于普通的php进程。因此,没有办法杀死这些漫长的工艺过程。
可能造成干扰的唯一限制是如上所述的php服务器。
例如,您的max_execution_time
中的php.ini
设置可能会造成干扰。
由于您正在传输文件,所以我想像upload_max_filesize
这样的设置可能会造成干扰。这,但是我不确定。
从Artisan Command触发的作业是否有超时(与同步/数据库模式相比)?
所有artisan命令基本上都是php进程。与第一个问题相同的答案也适用于这里。
如果命令超时,从CLI调用的php脚本中调用命令时是否也超时?
是的