在Laravel工匠的cronjobs中使用Cache

时间:2013-09-25 15:34:14

标签: php caching laravel

我需要一些帮助。我想使用Laravel 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总是空的。似乎Cache总是空的。

我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

这听起来与this question类似(不重复)。

假设您的cron作业正在运行工匠命令,您可能会遇到一个问题,即在使用Laravel的worker时未定义要使用的环境。

文档说要使用:

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