Drupal Google Analytics Counter模块Cron运行失败,无法获取数据求助
问题概述
使用Google Analytics Counter模块展示特定内容类型浏览量,按官方文档完成配置后,运行Cron时出现如下警告:
Warning: Trying to access array offset on value of type null in Drupal\Core\Cron->processQueue() (line 264 of core/lib/Drupal/Core/Cron.php).
Drupal\Core\Cron->processQueue(Object, Object) (Line: 233)
Drupal\Core\Cron->processQueues() (Line: 162)
Drupal\Core\Cron->run() (Line: 75)
Drupal\Core\ProxyClass\Cron->run() (Line: 272)
Drupal\admin_toolbar_tools\Controller\ToolbarController->runCron()
经排查,问题根源是Cron处理Google Analytics Counter任务时,pluginid、plugindefinition及配置未正确传递,导致代码$lease_time = $worker->getPluginDefinition()['cron']['time'];获取到空值,触发警告并中断Cron运行。
修复步骤
检查队列Worker插件定义
找到模块src/Plugin/QueueWorker/目录下的Google Analytics Counter Worker插件文件,确认插件注解中包含完整的cron配置,示例如下:/** * @QueueWorker( * id = "google_analytics_counter_worker", * title = @Translation("Google Analytics Counter Worker"), * cron = {"time" = 60} * ) */若
cron字段缺失或time值未设置,补充后执行缓存清除操作。验证模块配置完整性
进入后台Google Analytics Counter配置页面,核对Google API凭证、目标内容类型、同步频率等所有配置项是否正确保存,排除因配置不完整导致的插件初始化失败。重置损坏的队列任务
使用Drush命令清空相关队列,清除残留的异常任务:drush queue:clear google_analytics_counter_worker重新触发Cron运行,观察警告是否消失。
确认版本兼容性
检查Google Analytics Counter模块版本与当前Drupal核心版本是否匹配,若存在版本冲突,升级或降级模块至官方标注的兼容版本。
内容的提问来源于stack exchange,提问作者javelin

