Magento 2 Cara membuka kunci proses pengindeksan ulang

65

Saya membuat beberapa tes dalam proses pengindeksan ulang Magento dan saya mengunci proses indeks saham .

Bagaimana saya bisa membuka kunci proses ini?

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
Douglas Ianitsky
sumber

Jawaban:

118

Anda dapat mengatur ulang pengindeks melalui baris indexer:resetperintah dengan perintah.

Ini akan memberikan daftar nama indeks:

php bin/magento indexer:info

Keluaran:

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

Ini akan memberikan daftar status indeks:

php bin/magento indexer:status

Keluaran:

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

Jika Anda ingin mengatur ulang semua indeks, Anda dapat menjalankan perintah berikut:

php bin/magento indexer:reset

Jika Anda ingin mengatur ulang indeks tertentu (misalnya cataloginventory_stock), Anda dapat menjalankan perintah berikut:

php bin/magento indexer:reset cataloginventory_stock
Mukesh Chapagain
sumber
1
Apakah mengatur ulang indeks akan kehilangan data yang menunggu untuk diindeks?
ol'bob membagikan
Saya juga menghadapi masalah yang sama di magento 2.2.4 enterprise editioni diselesaikan menggunakan langkah di atas tetapi produk saya tidak ditampilkan di depan. apa masalahnya ada ide?
Chirag Patel
Hebat, banyak membantu saya ..
Amy
10

Ketika saya menghadapi situasi seperti ini saya harus menjalankan query SQL berikut langsung ke dalam database:

UPDATE indexer_state SET status = 'valid';

Saya tidak dapat menemukan opsi untuk memaksa pengindeksan ulang ketika indeks telah gagal sebelumnya.

Aurélien FOUCRET
sumber
6

Di MySQL run:

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

Kemudian pada terminal run Anda:

php bin/magento indexer:reindex

Ini biasanya terjadi ketika batas memori sedikit, jadi tambah konfigurasi .htaccess atau NGINX Anda .

Ankit Shah
sumber
1

Cukup gunakan perintah:

php bin/magento indexer:reset
php bin/magento indexer:reindex
php bin/magento cache:clean full_page block_html
Chiriac Victor
sumber
0

Mungkin juga Anda mengalami kondisi di mana beberapa tabel dikunci di MySQL. Dalam hal ini Anda dapat mengeluarkan unlock tables;pernyataan sql untuk dapat melanjutkan.

Saya mengalami masalah seperti ini:

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

Di mana saya tidak bisa mengindeks ulang sampai kunci meja dihapus.

Apakah mengatur ulang indeks akan kehilangan data yang menunggu untuk diindeks? - Ol'bob membagikan

Pengindeksan adalah proses melihat kumpulan data dan menyimpan beberapa kunci untuk dipasangkan dengan data yang tepat. Anda akan kehilangan indeks saat ini dalam proses dan membuatnya kembali. Di luar efek samping indeks menggunakan sumber daya atau dataset Anda tidak akurat, seharusnya tidak ada risiko untuk mengindeks ulang.

Joshua Fricke
sumber
0

Jalankan saja perintah-perintah ini

php bin / magento indexer: reset php bin / magento indexer: reindex

Atul Choubey
sumber
-2

Saya memecahkan masalah ini dengan langkah-langkah berikut:

1.- drop table customer_grid_flat

2.- Membuat ulang tabel:

BUAT TABEL JIKA TIDAK ADA customer_grid_flat( entity_idint TANDA TANGAN NULL KOMENTAR 'ID Entitas', nameteks NULL KOMENTAR 'Nama', emailvarchar (255) NULL KOMENTAR 'Email', group_idint NULL KOMENTAR 'Group_id', created_atstempel waktu NULL default NULL KOMENTAR 'Dibuat_at', website_idint KOMENTAR NULL 'Website_id', confirmationvarchar (255) NULL KOMENTAR 'Konfirmasi', created_inteks NULL KOMENTAR 'Dibuat_in', dobtanggal NULL KOMENTAR 'Dob', genderint NULL KOMENTAR 'Jender', taxvatvarchar (255) NULL KOMENTAR 'Pajak', lock_expirestimestamp NULL default KOMENTAR NULL 'Lock_expires', shipping_fullteks NULL KOMENTAR 'Shipping_full', billing_fullteks NULL KOMENTAR ' Billing_full ', billing_firstnamevarchar (255) NULL KOMENTAR' Billing_firstname ', billing_lastnamevarchar (255) NULL KOMENTAR 'Billing_lastname', billing_telephonevarchar (255) NULL KOMENTAR 'Billing_telephone', billing_postcodevarchar (255) NULL KOMENTAR 'Billing_postcode', billing_country_idvarchar (255) NULL KOMENTARI 'Billing_country_id', billing_regionvarchar (255) NULL COMMENT 'Billing_region', billing_streetvarchar (255) NULL KOMENTAR 'Billing_street', billing_cityvarchar (255) NULL KOMENTAR 'Billing_city', billing_faxvarchar (255) NULL KOMENTAR 'Billing_fax', billing_vat_idvarchar (255) NULL KOMENTAR 'Billing_vat_id', billing_companyvarchar (255) NULL COMMENT 'Billing_company', KUNCI UTAMA ( entity_id), INDEKS CUSTOMER_GRID_FLAT_GROUP_ID( group_id), INDEKS CUSTOMER_GRID_FLAT_CREATED_AT( created_at), INDEKS CUSTOMER_GRID_FLAT_WEBSITE_ID( website_id), INDEKS CUSTOMER_GRID_FLAT_CONFIRMATION( confirmation),INDEX CUSTOMER_GRID_FLAT_DOB( dob), INDEKSCUSTOMER_GRID_FLAT_GENDER( gender), INDEX CUSTOMER_GRID_FLAT_BILLING_COUNTRY_ID( billing_country_id), fulltext 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_company)) comment = 'customer_grid_flat' ENGINE = InnoDB charset = utf8 Collate = utf8_general_ci

Giancarlo Morales
sumber