Laravel работа вызывая класс из ниоткуда?

У меня есть работа в моем проекте Laravel (v.4.2). который используется для вставки данных в базу данных. Класс с именем «ProductUpdate». Я использую Amazon SQS для обслуживания очереди.

Что меня сейчас смущает, так это то, что когда я изменил код в классе «ProductUpdate»,
кажется, что работа выполняется с использованием старой версии класса.

Я даже удалил все строки кода в классе, но задания все еще могут быть в состоянии выполнить (он все еще вставляет данные).

Ниже приводится класс работы.

Файл этого класса находится в app / jobs / ProductUpdate.php

В моем понимании, класс задания — это единственное место, которое будет вызываться из очереди, но почему он все еще может быть запущен, когда я удалил все коды?

<?php

/**
*  Here is a class to run a queued item sent from SQS
*  Default method to use is fire()
**/
class ProductUpdate
{
public function fire($job, $data)
{
// Disable query log
DB::connection()->disableQueryLog();

// Set the job as a var so it will be used across functions
$this->job = $job;

$product = Product::find($productID);
if($product->product_type != 18) {
// Call the updater from library
$updater = App::make('Product\PriceUpdater');
$updater->update($product);
}
// Done and delete
$this->success();
}

private function success()
{
$this->job->delete();
}

private function fail($messages = array())
{
Log::error('Job processing fail', $messages);
$this->job->delete();
}
}

1

Решение

Ваша проблема связана с кешем.

Запустите эту команду в терминале, чтобы удалить все кэшированные данные.

php artisan cache:clear

другой путь:-

Illuminate\Cache\FileStore имеет функцию сброса, так что вы также можете использовать ее:

Cache::flush();

это ссылка на сайт также поможет вам 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector