Отправка заданий в очереди с задержкой Laravel через x часов, минут, секунд - PullRequest
0 голосов
/ 14 марта 2019

Я установил для своего часового пояса laravel значение «Азия / Калькутта», которое на 5:30 часов опережает время по Гринвичу.Когда я отправляю работу, работа начинается после 5:30 часов отправки, так как все клиенты находятся в одном часовом поясе.Кроме того, он отображается в 5:30 часов вперед.Например, когда я настраиваю его на запуск в 4:30, когда текущее время - 3:30, задержка работы на 5:30 опережает время и начинается в 10:00.

Я пытался установить Linux, часовой пояс laravel, php artisan config: cache, все еще впереди 5:30 часов.

Мой код:

$diff = strtotime($start_time) - strtotime($current_datetime);
        $job_delay_hour = date("H", $diff);
        $job_delay_minute = date("i", $diff);
        $job_delay_second = date("s", $diff);

$job_id = $this->dispatch(($job)
            ->onQueue('splitter')
            ->delay(now()->addHour($job_delay_hour)->addMinutes($job_delay_minute)->addSeconds($job_delay_second)));

1 Ответ

0 голосов
/ 14 марта 2019

исправил

$job_id = $this->dispatch(($job)
        ->onQueue('splitter')->delay($diff);
...