【问题标题】:The child node "transport" at path "enqueue_elastica" must be configured必须配置路径“enqueue_elastica”处的子节点“transport”
【发布时间】:2019-12-05 04:11:39
【问题描述】:

在带有friendsofsymfony/elastica-bundle 5.1.0、enqueue/elastica-bundle 0.9.3 和enqueue/fs 0.9.12 的 Symfony 4.3 应用程序中,后者的安装结束于:

路径“enqueue_elastica”中的子节点“transport”必须是 配置好了。

我在enqueue.yaml 中尝试了多种排列方式,包括我发现的the only example

enqueue.yaml:

enqueue:
    default:
        transport: '%env(resolve:ENQUEUE_DSN)%'
        client: ~

.env 包括:

###> enqueue/enqueue-bundle ###
ENQUEUE_DSN=null://
###< enqueue/enqueue-bundle 

已安装 Elasticsearch 6.8。相对简单的索引很容易创建。更复杂的索引因内存不足而失败 - 因此需要 enqueue

对于文件系统传输,enqueue.yaml 的适当配置是什么?

编辑:奇怪的是,Ubuntu 18 Hyper-V 虚拟机能够在没有 enqueue 的情况下通过填充,而 Windows 主机在 94200/156865 失败。

【问题讨论】:

  • 行为得到了改善,但没有通过增加 PHP 的内存限制来解决。仍然希望看到enqueue 的正确配置。

标签: php symfony elasticsearch enqueue


【解决方案1】:

看似正确的配置有:

.env:

...
###> enqueue/enqueue-bundle ###
ENQUEUE_DSN="file://%VAR_DIR%/enqueue"
###< enqueue/enqueue-bundle ###

这个需要附上

enqueue.yaml:

enqueue:
    default:
        transport:
            dsn: '%env(resolve:ENQUEUE_DSN)%'
            path: '%kernel.project_dir%/var/queue' ## probably just a placeholder
        client: ~

虽然上述方法避免了抛出任何错误,但它不允许填充完成。我正式卡住了。是时候考虑降低索引复杂性和多索引搜索了。

【讨论】:

    【解决方案2】:

    你应该添加

    enqueue_elastica:
        transport: '%enqueue.default_transport%'
        doctrine: ~
    

    在您的 enqueue.yaml 配置中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多