0
Cron上有一些時間表,需要將他們的輸出保存在數據庫中。現在可以將其保存到文件或發送給電子郵件。有可能以某種方式將它發送到一個URL或啓動一個預先準備好的腳本? 我正在使用Laravel調度程序。這些命令類似於這個「* * * * * php/path/to/artisan schedule:run >>/dev/null 2」& 1「如何建議Cronjob將控制檯輸出重定向到url或腳本?
Cron上有一些時間表,需要將他們的輸出保存在數據庫中。現在可以將其保存到文件或發送給電子郵件。有可能以某種方式將它發送到一個URL或啓動一個預先準備好的腳本? 我正在使用Laravel調度程序。這些命令類似於這個「* * * * * php/path/to/artisan schedule:run >>/dev/null 2」& 1「如何建議Cronjob將控制檯輸出重定向到url或腳本?
我需要得到一個laravel cron的生成輸出計劃並將其保存在數據庫中。 Laravel允許將輸出插入/追加到文件或通過電子郵件發送。 因此,解決方案是將輸出插入到文件中,然後使用after
鉤子讀取該文件,最後查詢數據庫。代碼是波紋管。
class Kernel extends ConsoleKernel
{
protected $commands = [
Commands\ReportExpiringResponseDate::class,
];
protected $outputFile = 'app/schedules.txt';
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('ReportExpiringResponseDate')->weekly()->mondays()->wednesdays()
->sendOutputTo(storage_path($this->outputFile))
->after(function() {
$this->saveLogs('ReportExpiringResponseDate');
});
}
protected function saveLogs($scheduleName)
{
$output = File::get(storage_path($this->outputFile));
$logModel = (new ScheduleLog())->newInstance();
$logData = [
'schedule' => $scheduleName,
'schedule_output' => $output
];
if ($logModel->validate($logData)) {
$logModel->fill($logData);
$logModel->save();
} else
echo 'invalid data for logs';
}
}
請與你的問題更準確,我只是不明白你想做的事你有什麼,什麼...... – corentingi