Laravel 使用Nanobox时,Cron作业在内腔上不起作用
我正在尝试在nanobox中编写cron作业。我在Kernel.php中实现了一些逻辑,并在boxfile.yml文件中做了相应的更改。在此之后,我的计划作业预计每小时运行一次,但它不会运行。我不知道我在这里错过了什么 myboxfile.yml的相关部分如下所示Laravel 使用Nanobox时,Cron作业在内腔上不起作用,laravel,cron,scheduler,lumen,Laravel,Cron,Scheduler,Lumen,我正在尝试在nanobox中编写cron作业。我在Kernel.php中实现了一些逻辑,并在boxfile.yml文件中做了相应的更改。在此之后,我的计划作业预计每小时运行一次,但它不会运行。我不知道我在这里错过了什么 myboxfile.yml的相关部分如下所示 cron: - id: scheduleForRSS schedule: '0 * * * *' command: 'php artisan schedule:run' 我的Kernel.php文
cron:
- id: scheduleForRSS
schedule: '0 * * * *'
command: 'php artisan schedule:run'
我的Kernel.php文件具有以下类
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
//DB::table('keyword')->delete();
echo "Hello, from Kernel.schedule !";
DB::table('xyz')->insert([
['title' => 'abc', 'value' => 0]
]);
})->everyMinute();
}
}
然而,当我运行下面的命令时,调用了schedule函数,我可以在控制台上看到输出,并且在DB中插入了一条记录,以证明该函数是正确实现的,并且执行了它应该执行的操作。只是,出于某种原因,它没有从nanobox的cron作业功能中调用
/app $ *php artisan schedule:run*
Running scheduled command: Closure
Hello, from Kernel.schedule !
已排序,cron作业不会在本地计算机上运行。当我在服务器上部署它时(在我的例子中是aws),作业开始运行。它需要到artisan的更完整路径吗?@lagbox,我不认为,因为我是从我的应用程序根目录运行它,它也应该在没有完整路径的情况下工作。无论如何,我会很快检查并返回我的findings@lagbox,它甚至不工作:(您没有运行它,cron正在运行它,cron从项目的根运行?