2013-09-25 41 views
0

我需要一些幫助。我想用Laravel Cache類:在Laravel工匠的cronjob中使用Cache

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 Version和緩存驅動程序。 –

+0

Laravel 3和「APC」緩存驅動程序 –

回答

0

這聽起來與this question相似(不是重複)。

假設您的cron作業正在運行一個工匠命令,您可能遇到以下問題,即在使用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' 它的工作原理緩存爲空... –