Magento 2 Reindex işleminin kilidini açma


65

Magento reindex işleminde bazı testler yapıyorum ve borsa endeks işlemlerini kilitledim .

Bu işlemin kilidini nasıl açabilirim?

Design Config Grid index has been rebuilt successfully in 00:00:02
Customer Grid index has been rebuilt successfully in 00:00:03
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index is locked by another reindex process. Skipping.
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:06

Yanıtlar:


118

İndeksleyiciyi komut ile komut satırından sıfırlayabilirsiniz indexer:reset.

Bu, dizinlerin isimlerinin listesini verecektir:

php bin/magento indexer:info

Çıktı:

design_config_grid                       Design Config Grid
customer_grid                            Customer Grid
catalog_category_product                 Category Products
catalog_product_category                 Product Categories
catalog_product_price                    Product Price
catalog_product_attribute                Product EAV
catalogsearch_fulltext                   Catalog Search
cataloginventory_stock                   Stock
catalogrule_rule                         Catalog Rule Product
catalogrule_product                      Catalog Product Rule

Bu, endeks durumunun listesini verecektir:

php bin/magento indexer:status

Çıktı:

Design Config Grid:                                Ready
Customer Grid:                                     Ready
Category Products:                                 Ready
Product Categories:                                Ready
Product Price:                                     Ready
Product EAV:                                       Ready
Catalog Search:                                    Ready
Stock:                                             Processing
Catalog Rule Product:                              Ready
Catalog Product Rule:                              Ready

Tüm dizinleri sıfırlamak istiyorsanız, aşağıdaki komutu çalıştırabilirsiniz:

php bin/magento indexer:reset

Belirli bir dizini (örn. cataloginventory_stock) Sıfırlamak istiyorsanız , aşağıdaki komutu çalıştırabilirsiniz:

php bin/magento indexer:reset cataloginventory_stock

1
Dizini sıfırlamak, dizine alınmayı bekleyen herhangi bir veriyi kaybediyor mu?
ol'bob dole

Ayrıca magento 2.2.4 enterprise editionyukarıdaki adımı kullanarak çözdüğümde de aynı sorunla karşılaşıyorum ancak ürünüm ön tarafta görünmüyor. sorun ne bir fikir?
Chirag Patel

Harika, bana çok yardımcı oldu ..
Amy

10

Bu tür bir durumla karşılaştığımda, aşağıdaki SQL sorgusunu doğrudan veritabanına çalıştırmak zorunda kaldım:

UPDATE indexer_state SET status = 'valid';

Daha önce bir dizin başarısız olduğunda, yeniden indekslemeye zorlamak için herhangi bir seçenek bulamadım.


6

MySQL çalıştırmasında:

SET SQL_SAFE_UPDATES = 0;
update indexer_state set status = 'invalid' where status != 'valid';

Ardından terminal koşunuzda:

php bin/magento indexer:reindex

Normalde hafıza sınırı az olduğunda gerçekleşir, bu nedenle .htaccess veya NGINX config ayarlarınızı arttırın .


1

Sadece komutları kullanın:

php bin/magento indexer:reset
php bin/magento indexer:reindex
php bin/magento cache:clean full_page block_html

0

Ayrıca, MySQL'de bazı tabloların kilitlendiği bir duruma girmeniz de mümkündür. Bu durumda unlock tables;devam edebilmek için sql deyimi yayınlayabilirsiniz .

Böyle bir sorunla karşılaştım:

Category Products indexer process unknown error:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: INSERT INTO

Masa kilidi kaldırılıncaya kadar indeksleyemedim.

Dizini sıfırlamak, dizine alınmayı bekleyen herhangi bir veriyi kaybediyor mu? - ol'bob dole

İndeksleme, veri setine bakma ve uygun verilerle eşleştirmek için bazı tuşları saklama işlemidir. Bu sırada mevcut endeksinizi kaybedersiniz ve yeniden oluşturur. Dizin kaynaklarını kullanan ya da veri kümenizi yanlış kullanan yan etkilerin dışında, yeniden dizin oluşturma riski yoktur.


0

Sadece bu komutları çalıştır

php bin / magento dizin oluşturucu: sıfırlama php bin / magento dizin oluşturucu: reindex


-2

Bu sorunu aşağıdaki adımlarla çözdüm:

1.- masa müşteri_grid_flat

2.- Tabloyu yeniden oluşturun:

OLMADIĞINDA TABLO OLUŞTURUN customer_grid_flat( entity_idint NULL HİZMET DEĞİL YORUM 'Varlık Kimliği', namemetin NULL YORUM 'Ad', emailvarchar (255) NULL YORUM 'E-posta', group_idint NULL YORUM 'Group_id', created_atzaman damgası NULL varsayılan NULL YORUM 'Created_at', website_idint NULL COMMENT 'Website_id', confirmationvarchar (255) NULL COMMENT 'Onay', created_inmetin NULL COMMENT 'Created_in', dobtarih NULL COMMENT 'Dob', genderint NULL COMMENT 'Cinsiyet', taxvatvarchar (255) NULL COMMENT 'Taxvat', lock_expirestimestamp NULL varsayılan NULL COMMENT 'Lock_expires', shipping_fullmetin NULL COMMENT 'Shipping_full', billing_fullmetin NULL COMMENT ' Billing_full ', billing_firstnamevarchar (255) NULL COMMENT' Billing_firstname ', billing_lastnamevarchar (255) NULL YORUM 'Billing_lastname', billing_telephonevarchar (255) NULL YORUM 'Billing_telephone', billing_postcodevarchar (255) NULL YORUM 'Billing_postcode', billing_country_idvarchar (255) NULL YORUM 'Billing_country_id', billing_regionvarchar (255) NULL YORUM 'Billing_country_id' billing_streetvarchar (255) NULL YORUM 'Billing_street', billing_cityvarchar (255) NULL YORUM 'Billing_city', billing_faxvarchar (255) NULL YORUM 'Billing_fax', billing_vat_idvarchar (255) NULL YORUM 'Billing_vat_id', billing_companyvarchar (255) NULL YORUM 'Billing_vat_id', varchar (255) NULL YORUM 'Billing_vat_id', varchar (255) PRIMARY KEY ( entity_id), INDEX CUSTOMER_GRID_FLAT_GROUP_ID( group_id), INDEX CUSTOMER_GRID_FLAT_CREATED_AT( created_at), INDEX CUSTOMER_GRID_FLAT_WEBSITE_ID( website_id), INDEX CUSTOMER_GRID_FLAT_CONFIRMATION( confirmation),DİZİN CUSTOMER_GRID_FLAT_DOB( dob), DİZİNCUSTOMER_GRID_FLAT_GENDER( gender), DİZİN CUSTOMER_GRID_FLAT_BILLING_COUNTRY_ID( billing_country_id), Text FTI_8746F705702DD5F6D45B8C7CE7FE9F2F( name, email, created_in, taxvat, shipping_full, billing_full, billing_firstname, billing_lastname, billing_telephone, billing_postcode, billing_region, billing_city, billing_fax, billing_companyMOTOR = innodb karakter kümesi = utf8 HARMANLAMA = utf8_general_ci 'customer_grid_flat')) YORUM =

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.