Перерывы в очереди Laravel на живом сервере хорошо работают на локальном - PullRequest
0 голосов
/ 24 января 2019

Мне нужна помощь с моим приложением Laravel, очередь прерывается (выдает смешные ошибки) на сервере Digital Ocean, но работает отлично и быстро на моем локальном сервере. Ошибка на сервере часто изменяется от красноречивой ошибки до неопределенной переменной. В сообщении об ошибке говорится: «Общая ошибка: 1364 Поле 'user_id' не имеет значения по умолчанию ..." вот его изображение

Тем не менее, это значение просто отлично вписывается в мои локальные данные.

Вот код

public function saveEmailsIntoDb($id)
{
    $list = EmailList::where('job_id',$id)->first();
   $contents = file(public_path('files/'.$list->stored_file_name), FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
   foreach ($contents as $value) 
   {
        Email::create([
            'user_id'       => $list->user_id,
            'email_list_id' => $list->id,
            'email'         => $value
        ]);
    }

    $credits = count($contents);
    User::where('id',$list->user_id)->decrement('credits', $credits);
    unlink(public_path('files/'.$list->stored_file_name));
    EmailList::where('stored_file_name',$list->stored_file_name)
             ->update(['is_deleted' => 1]);
    return $list->id;
}

Я запускаю apache на своем локальном компьютере, я настроил nginx на Digital Ocean.

Код работает время от времени (случайным образом), но выдает эту ошибку в большинстве случаев. Драйвер очереди является базой данных.

...