使用Queue::push
让我在生产服务器上出现了一些麻烦:
$data = [
'server' => $server,
'week' => '201427'
];
Queue::push('\Cleanse\MyPluginName\Classes\Jobs\MyQueueClass', $data);
异常'ReflectionException' 消息'Class \ Cleanse \ MyPluginName \ Classes \ Jobs \ MyQueueClass不存在' 在/october/vendor/laravel/framework/src/Illuminate/Container/Container.php:741
它在我开发的本地Mac服务器上运行正常,但在上传到我的实时服务器后,我收到上述错误。
我也尝试过使用闭包,但我得到了:
Queue::push(function($job) use ($data) {
$crawl = new RankingsUpdate();
$crawl->updateWeek($data);
$job->delete();
});
[2017-05-30 02:41:33] production.ERROR: Symfony的\分量\调试\异常\ FatalThrowableError: 未找到类'Cleanse \ MyPluginName \ Classes \ CategoryDir \ CategoryClass' /var/www/html/vendor/jeremeamia/SuperClosure/src/SerializableClosure.php(210):eval()'d代码:8
可能是PHP版本问题吗?它适用于我的MB Air,运行PHP 7.0.11(cli)(内置:2016年9月23日20:33:19)(NTS)
答案 0 :(得分:2)
这是一个常见的陷阱,请确保您的文件夹名称是小写的。某些操作系统区分大小写。
例如,类\Cleanse\MyPluginName\Classes\Jobs\MyQueueClass
应存储在名为plugins/cleanse/mypluginname/classes/jobs/MyQueueClass.php
的文件中。