Laravel 5.8 Ошибка слишком малого количества аргументов для заданий - PullRequest
0 голосов
/ 27 марта 2020

Я получаю сообщение об ошибке ниже в таблице невыполненных заданий.

Too few arguments to function App\Jobs\updateTeamToDoProgress::handle(), 0 passed and exactly 1 expected in /var/www/eu_dash_laravel_dev/laravel/app/Jobs/updateTeamToDoProgress.php:32

Я потратил много времени на поиск решений этой же проблемы от других людей, но не могу ' не могу понять, что не так в моем коде.

namespace App\Jobs;

use App\Http\Controllers\ToDoController;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;


class updateTeamToDoProgress implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $tries = 5;
    protected $trip_id;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($trip_id)
    {
        $this->trip_id = $trip_id;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        echo ToDoController::updateTeamToDoProgress($this->trip_id);
    }
}

Отправка с помощью dispatch(new App\Jobs\updateTeamToDoProgress(172));

Справка? Что я делаю не так?

1 Ответ

0 голосов
/ 27 марта 2020

Ваш класс заданий правильный.

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        echo ToDoController::updateTeamToDoProgress($this->trip_id);
    }

Вы можете попробовать изменить синтаксис диспетчеризации в вашем контроллере:

вместо:

dispatch(new YourJobClass(172));

try:

$this->dispatch(new YourJobClass(172));
...