大量的实体修订清洁导致连接堕胎 -- 8 领域 和 entities 领域 drupal 相关 的问题

Large amount of entity revision cleaning leads to connection abortion


1
vote

问题

中文

我正在尝试通过DRUSH命令从具有修订功能的每个实体类型中删除修订。 实体的数量很多:10K节点约为2K段落。

在localhost上一切都很好。 但在云中,Drush_print($ log)成功运行,出现以下错误:

   [warning] PDO::beginTransaction(): MySQL server has gone away Connection.php:1165  [warning] PDO::beginTransaction(): Error reading result set's header Connection.php:1165  In Connection.php line 1165:    SQLSTATE[HY000]: General error: 2006 MySQL server has gone away   

两个环境接近相同。任何建议我可以在哪里开始调查?

英文原文

I am trying to remove revisions from each entity type which has the revision feature via drush command. The amount of entities are quite a lot: around 10K nodes, 2k paragraphs.

On localhost everything is fine. But in the cloud the drush_print($log) successfully runs and the following error appears:

 [warning] PDO::beginTransaction(): MySQL server has gone away Connection.php:1165  [warning] PDO::beginTransaction(): Error reading result set's header Connection.php:1165  In Connection.php line 1165:    SQLSTATE[HY000]: General error: 2006 MySQL server has gone away 

The two environments are close to identical. Any suggestions where could I start to investigate?

     
         
         

回答列表

0
 
vote
vote
最佳答案
 

证明了真正的问题是什么。我没有提到(认为这并不重要),这实际上是一个指向另一个多网站的苏打命令。

在其他网站上采取"太长" ,并且随着成功返回的时间,默认MySQL连接已超时,无法再写于数据库。 (即使是相应的MySQL超时设置也高于在其他网站上花费的实际时间)

我们用

解决了
  $process = proc_open($command, [STDIN, STDOUT, STDERR], $pipes); if (!is_resource($process)) {   throw new InvalidArgumentException("Could not execute `{$command}`."); } while (($status = proc_get_status($process)) && ($status['running'])) {   $this->entityStorage->getQuery()->count()->execute();   sleep(5); } proc_close($process);   
 

It turned out what the real issue was. I didn't mention (thought it's not important) that this was actually a Drush command pointing to another multi site.

The actions took "too long" on the other site and by the time it returned with success, the default Mysql connection was timed out and couldn't write to the database anymore. (even tho the corresponding Mysql timeout settings were way higher than the actual amount of time that was spent on the other site)

We solved with with

$process = proc_open($command, [STDIN, STDOUT, STDERR], $pipes); if (!is_resource($process)) {   throw new \InvalidArgumentException("Could not execute `{$command}`."); } while (($status = proc_get_status($process)) && ($status['running'])) {   $this->entityStorage->getQuery()->count()->execute();   sleep(5); } proc_close($process); 
 
 

相关问题

1  分类概述搜索词  ( Taxonomy overview search term ) 
在这个经理: admin / structuct / taxononomy 管理/结构/分类/管理/ [水果] /概述 有一种方法可以添加搜索一个术语? 所以,如果您有100个术语,则更容易找到一个术语。 这个没有移植到所有 https://www.drupal.org/project/term_search ...

2  MENU.HTML.TWIG模板中可用IS_FRONT变量吗?  ( Is is front variable available in menu html twig template ) 
当页面实际呈现时,检查最后一个建议。如果存在,则使用该建议。否则检查下一个建议,等等。当然,如果没有覆盖建议,Page.html.twig是最终建议。这也解释了为什么Page - Front.html.twig, ...

2  为什么大多数命令都缺失?  ( Why are most of the commands missing ) 
drupal list 的输出缺少大多数控制台命令。 我正在使用drupal控制台版本0.11.3,输出以下错误消息。 [警告]为了列出所有可用的命令,首先要安装drupal。 正确配置了多站点。 我已经创建了一个空/ ssites/default/settings.php,它仍然没有工作,即它仍然没有显...

11  drupal :: request()vs $ request_stack-> getCurrentRequest()  ( Drupalrequest vs request stack getcurrentrequest ) 
这些似乎返回相同的东西: Drupal::request() $request_stack->getCurrentRequest() 这是获取当前请求的首选方法,为什么?是这些弃用之一吗?任何其他优点/缺点? 谢谢! ...

4  哪个表存储关于hook_update_n的信息?  ( Which table stores info about hook update n ) 
我想再次运行相同的hook_update。例如hook_update_8005。我不确定drupal把信息追踪。 ...

1  使用配置值提供馈送内容类型字段  ( Feed content type field with configuration value ) 
我有一个配置表单,其中包含多个配置变量,其中我保存一些用户偏好,如«位置»或«重量» 现在,在生成内容类型的时刻,我要使用«位置»配置字段源以«position»配置以前提到的保存值作为此字段的选项。 我看到我可以创建一个参考字段作为视图参考。所以我想我会在观看之前打印这些值,但我想如果有更便捷的方法来做这件事。 我...

2  链接字段从foo.cgi的查询字符串从foo.cgi?123456到foo.cgi?0 =  ( Link field sanitizes query string from foo cgi123456 to foo cgi0 ) 
在我的drupal 8站点上,我有一个自定义内容类型,其中包含一个字段链接字段。当我创建一个节点并将以下外部URL添加为链接字段的值之一: http://www.isfdb.org/cgi-bin/title.cgi?1580 呈现页面包含此Mangled查询字符串: http://www.isfdb....

6  在Drupal 8中渲染任意字段值,没有父实体  ( Rendering arbitrary field values without a parent entity in drupal 8 ) 
我想公开他们选择他们选择的字段格式和各自的字段格式化选项。然后,所选格式化器将以与该字段类型的值相同的格式化项目呈现任意项目数组,而无需任何类型的父实体。 再次,我想呈现什么看起来是一个字段值的数组,而没有,具有具有字段值的实际字段或实体。 在drupal 7中,我可以使用以下代码来完成这一点( gist格式化版本<...

6  如何使用导出视图显示为内容引用提供嵌套的JSON数组?  ( How do i deliver a nested json array for content reference with export view disp ) 
我创建了一个产品内容类型,内容参考文章(一个产品到许多文章)。然后我添加了字段"内容:ID" 内容:标题"和" (Field_Article:内容)内容:标题"到新的REST导出视图。 "(field_article:content)内容:标题" 来自Field_article引用的关系"内容" 我在高级添加。 ...

3  自定义表单使用自定义模板,提交表单不会调用其验证并提交处理程序  ( Custom form using custom template submit the form dont call its validate and s ) 
我创建了一个简单的自定义模块,其中我使用自定义模板表单创建了一个类表单。如果我不使用我的自定义模板(我从我的.module评论我的_theme钩子),当我提交表单时,类方法处理程序验证并提交。但是当我使用自定义表单模板时,如果我提交表单,验证和提交类方法不再调用,我不明白为什么。 这是我的代码;我从我的模板/表单开始...

0  如何自定义购物车?  ( How to customize the shopping cart ) 
这是一个真正的拼图,如果我禁用显示模式的图像字段,它仍然显示在购物车中。 有人可以向我解释如何自定义购物车? 我不明白。 "预告片" 显示模式不存在,并且视图中未列出其他显示模式。为什么? ...

1  创建模块:表单配置类无效?  ( Creating a module form config class invalid ) 
我目前有一个工作模块,将ical链接解析为事件。这部分是工作。我现在正在尝试的是为我的模块创建一个配置页,允许我将链接输入到此ical文件。 我遵循多个指南,似乎似乎在同一位置结束: InvalidArgumentException: Class "Drupalgoogle_calendarFormGoogle...

-2  如何从8.4.2升级到8.4.3? [关闭]  ( How do i upgrade from 8 4 2 to 8 4 3 ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅拍摄了一个问题,只有编辑此帖。 关闭 3年前。 ...

7  缓存:“Drush Cr”与管理员工具栏“冲洗所有缓存”  ( Cache drush cr versus admin toolbar flush all caches ) 
醉汉的Cr会让所有的高速缓存都不会做什么? 委托块缓存? 我疯了试图设置一个自定义块的枝条模板,最终弄清楚我的代码没有出错,但刷新所有高速缓存都没有足够的并且润滑Cr会做这项工作。 https://www.drupal.org/node/2640110 编辑:可能会有我的本地开发设置的偏见吗? $sett...

2  如何在创建时将参数传递到表单中?  ( How to pass a parameter into a form upon creating ) 
我有一个表单,其中包含一个附加字段。我想通过表单构造函数启动字段。 class ServicesForm extends FormBase { private $service_type; public function __constructor($_service_type){ ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.