Php 在后台运行Laravel cron作业-Laravel 5.8

Php 在后台运行Laravel cron作业-Laravel 5.8,php,laravel,laravel-5,cron,Php,Laravel,Laravel 5,Cron,我在Laravel有一份cron工作: public function handle(){ $reimport = $this->argument('reimport'); $lib = new CustomLibrary(); $lib->importAll(); } 我在我的控制器中调用此命令: Artisan::call('my_command'); 或者在SSH中: 问题是这两个地方的工作都不是在后台进行的,因为完成这项工作需要一分钟

我在Laravel有一份cron工作:

    public function handle(){
    $reimport = $this->argument('reimport');

    $lib = new CustomLibrary();

    $lib->importAll();

}
我在我的控制器中调用此命令:

Artisan::call('my_command');
或者在SSH中:

问题是这两个地方的工作都不是在后台进行的,因为完成这项工作需要一分钟以上的时间


有没有办法使该作业在控制器和SSH中的后台运行可选?

要启动Laravel调度程序本身,我们只需要添加一个每分钟执行一次的Cron作业。转到终端,ssh到服务器,cd到项目并运行此命令

crontab -e
这将打开服务器Crontab文件,将下面的代码粘贴到该文件中,保存然后退出

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

不要忘记用Laravel应用程序的artisan命令的完整路径替换/path/to/artisan。

您必须使用队列。是的,但是有没有办法不使用Laravel队列呢?您可以查看pcntl_fork,但这只能在命令行上工作。
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1