我如何通过 运行 计划和按钮来执行 运行 命令?

How i can run command by run schedule and by button also?

我在 kernel.php 中创建了命令,它是 运行ning twiceDaily()。我还想用按钮附加它,这样我就可以通过单击该按钮来 运行 此命令。当我点击按钮时,那一刻它应该 运行。

目前,我刚刚创建了 twiceDaily 命令,我需要更好的方法来实现按钮的想法。

kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->job(new \App\Jobs\ResendAttachment)->twiceDaily(1, 13);
}

我想 运行 通过服务器上的 cron 作业和按钮来执行命令。

添加路由,例如:

Route::get('/resentattachment', 'YourController@resentattachment')->name('resent.attachment');

从您的控制器调用命令

class YourController extends Controller
{
    public function resentattachment()
    {
        Artisan::call('yourcommand');
        echo 'Sent successfully';
        //add other stuff like a success view
    }
}

点击按钮时调用此路由。

您现在正在做的是每天两次将作业安排到 运行。 但是,您也可以在那个时候 manually dispatch a job 到 运行(或者一旦 运行 有空来处理您的工作)。

您可以创建一个控制器操作,以便在单击按钮时控制器调度作业。例如,

<?php

namespace App\Http\Controllers;

use App\Jobs\ResendAttachment;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ExampleController extends Controller
{
    /**
     * Resend attachment.
     *
     * @param  Request  $request
     * @return Response
     */
    public function resendAttachment(Request $request)
    {
        ResendAttachment::dispatch();
    }
}