2013-09-25 3 views
0

Мне нужна помощь. Я хочу использовать Laravel класс Cache:Использование кеша в cronjobs с мастером Laravel

class Uploadcatalogfiles_Task 
{ 
    public function run($arguments) 
    { 
     error_reporting(0); 
     $uploadFlag = Cache::get('upload_is_working'); 
     if ($uploadFlag == 1) { 
      echo date('Y-m-d H:i:s '),'BIT: CACHE SHOT!.',"\n"; 
      die; 
     } else { 
      Cache::put('upload_is_working',1,60); 
     } 

И $uploadFlag всегда пусто. Кажется, что кеш всегда пуст.

Что я делаю неправильно?

Спасибо.

+1

Просьба указать версию Laravel и драйвер кэша. –

+0

Laravel 3 и драйвер кэша «APC» –

ответ

0

Звучит похоже (не дубликат) до this question.

Предполагая, что ваше задание cron запускает команду artisan, у вас, вероятно, будет проблема, когда вы не определили, какую среду использовать при использовании рабочего Laravel.

документы говорят использовать:

php artisan command:your_command 

Но вы, вероятно, хотите, чтобы определить конкретную среду, как и любая команда ремесленник, чтобы тянуть в правильных подключений к базе данных и кэша:

php artisan command:your_command --env=production 

Так , ваше задание cron может выглядеть примерно так:

* * * * * /usr/bin/php /var/www/example.com/public/artisan command:your_command 
+0

Я использую 'code' * * * * * php /var/www/example.com/public/artisan uploadcatalogfiles --env = local' code' , и он работает, но кеш пуст ... –

Смежные вопросы