我刚刚为我当前正在处理的 Laravel 项目设置了一个 cron 作业。这是我命令中的句柄函数。
public function handle()
{
Log::info("PayoutList Cron started!");
$tradersToPay = Investments::select('id', 'monthly_roi')
->where(DB::raw('CURDATE()'), '<=', 'end_date')
->where(DB::raw('DAY(CURDATE())'), '=', DB::raw('DAY(start_date)'))
->where('status', '=', 2)
->get();
foreach ($tradersToPay as $payout){
$row = [
'investment_id' => $payout->id,
'roi' => $payout->monthly_roi,
#'created_at' => date('Y-m-d H:i:s')
];
Payouts::create($row);
}
#$this->info('PayoutList Cron command executed successfully');
Log::info("PayoutList Cron command executed successfully");
}
我已安排此命令在每天午夜运行,它仅在日志文件中显示日志消息,这意味着命令已执行,但其间的查询不在我的 cpanel 上运行,而是在我的 Windows 本地服务器上运行。我需要这方面的帮助。
$schedule->command('payoutlist:cron')
->dailyAt('02:30')
->timezone('Africa/Lagos');
我的主机只允许在 cron 作业上设置它,但它仍然工作正常
*/5 * * * * /usr/local/bin/php /directorty/artisan schedule:run >> /dev/null 2>&1
我正在使用 Laravel 5.8
慕容3067478
Helenr