Laravel l oop notificat ios cron и supervisor - PullRequest
0 голосов
/ 17 марта 2020

Кто может помочь, подскажите? Столкнулся с нетипичной проблемой: при создании нового обсуждения или создании события канала для связи с пользователями pu sh зацикливает уведомления, каждую минуту приходит последнее сгенерированное уведомление, пишет в базу данных, но кажется, что где-то происходит сбой, я нажмите pus для запуска cron и supervisor.

В настройках файла cron: * * * * * / usr / local / bin / php / var / www / frandme-api / artisan schedule: run >> /var/log/cron.log 2> & 1

В laravel рабочих настройках (папка supervisor):

[program:laravel_worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/bin/php /var/www/frandme-api/artisan queue:work --daemon --queue=default
autostart=true
autorestart=true
user=www-data
numprocs=4
redirect_stderr=true
stdout_logfile=/var/log/supervisor/laravel_worker.log

I добавлю, что я использую docker на windows.

И в консоли / ядре в целом, вот так:

 protected function schedule(Schedule $schedule)
    {
        //
    }

    private function runCommandAs($command, $name)
    {
        $monitor_file_path = storage_path($name);
        $number = exec($command);
        file_put_contents($monitor_file_path, $number);
    }

    /**
     * @param $name
     *
     * @return bool
     */
    private function canRunning($name): bool
    {
        $run_command = false;
        $monitor_file_path = storage_path($name);

        if (file_exists($monitor_file_path)) {
            $pid = file_get_contents($monitor_file_path);
            $result = exec("ps -p $pid --no-heading | awk '{print $1}'");
            if ($result == '') {
                $run_command = true;
            }
        } else {
            $run_command = true;
        }

        return $run_command;
    }

Проект был недавно передан мне и сразу натолкнулся на такая проблема.

Буду благодарен всем, кто откликнется!

...