인덱서 상태 "정지 된"을 해결하는 방법 (백 로그에서 n)


12

스케줄에 따라 업데이트되도록 구성된 인덱서 중 하나가 "일시 중단"상태로 잠기고 더 이상 업데이트되지 않습니다.

출력 bin/magento indexer:status

+----------------------------+------------------+-----------+-------------------------------+---------------------+
| Title                      | Status           | Update On | Schedule Status               | Schedule Updated    |
+----------------------------+------------------+-----------+-------------------------------+---------------------+
| ...                        |                  |           |                               |                     |
| IntegerNet_Solr            | Reindex required | Schedule  | suspended (101028 in backlog) | 2018-09-24 15:28:44 |
| ...                        |                  |           |                               |                     |
+----------------------------+------------------+-----------+-------------------------------+---------------------+

다른 사람들 idle (0 in backlog)은 "스케줄 업데이트"열에 현재 시간을 표시 하므로 인덱서 스케줄이 일반적으로 작동합니다.

이 문제를 어떻게 해결할 수 있습니까?

답변:


8

상태가에서 설정 \Magento\Framework\Mview\View::suspend()및 제거 되었음을 알았습니다 \Magento\Framework\Mview\View::resume().

이 메소드는 \Magento\Indexer\Model\Indexer::reindexAll()강제 전체 재색 인화 전에 스케줄 된 색인화를 일시 중단하고 나중에 또는 예외가 발생하면 재개하기 위해 호출됩니다 .

그러나 프로세스가 예외없이 종료 된 경우 (예 : 종료, segfaulted 또는 복구 불가능한 치명적 오류가 발생하는 경우) 상태는 "일시 중지"상태로 유지되며 프로세스를 다시 시작할 수있는 방법이 없습니다.

해결 방법 : 전체 재 색인이 실행되고 있지 않은지 확인한 다음 SQL을 통해 상태를 업데이트하십시오.

모든 상태는 다음과 같습니다.

select * from mview_state;

다음과 같이 업데이트하십시오.

update mview_state set status='idle' where view_id='integernet_solr';

완전한 증거 솔루션을 찾았습니까?
Vivek Kumar

1

데이터베이스를 편집하기 위해 편집 할 필요는 없습니다. 재설정 및 색인 작성기에서 다음 명령을 사용하여 다시 색인화하여 동일한 작업을 수행 할 수 있습니다.

php bin/magento indexer:reset

php bin/magento indexer:reindex

1
그것이 내가 처음 시도한 것이었지만, 그것은 mview 상태가 아닌 상태 (즉, "진행 중") 만 재설정합니다
Fabian Schmengler

전체 재 색인을 다시 트리거했는지는 확실하지 않지만 그래도 피하고 싶습니다.
Fabian Schmengler

프로세스가 일시 중단 된 경우와 동일한 문제가 발생했습니다. 그래도 magento 2.1.x였습니다.
Vivek Kumar

고마워, 나는 좀 더 알아보기 위해 약간의 실험을 할 것이다 :)
Fabian

1
재설정, PHP bin / magento indexer : reset이 일시 중단 된 플래그를 변경하지는 않았지만 올바르게 색인을 다시 생성하고 다시 플래그를 유휴 상태로 변경했습니다. php bin / magento indexer : reset 위에서 제안한 것을 사용하는 것이 좋습니다.
jrossi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.