2013-01-02 15 views
15

मुझे अपने Magento 1.6.2.0 स्टोर के अंदर इंडेक्स प्रबंधन के साथ कोई समस्या है। असल में मैं उन्हें अद्यतन करने के लिए नहीं मिल सकता है। स्थिति Processing कहती है लेकिन यह अब 3 सप्ताह से अधिक के लिए कहती है।Magento इंडेक्स समस्या - reindex

और जब मैं रीइंडेक्स करने का प्रयास करता हूं तो मुझे यह संदेश Stock Status Index process is working now. Please try run this process later मिल रहा है लेकिन बाद में 3 सप्ताह है? तो ऐसा लगता है कि प्रक्रिया जमे हुए है लेकिन मुझे नहीं पता कि पुनरारंभ कैसे करें।

कोई भी विचार?

चियर्स

+0

क्या आपने इसे देखा है? http://stackoverflow.com/questions/5315684/magento-catalog-url-rewrites-stuck-on-processing – pzirkind

+0

संभावित डुप्लिकेट [लॉक प्रतीक्षा टाइमआउट को डीबग कैसे करें MySQL पर पार हो गया?] (http://stackoverflow.com/questions/6000336/how-to-debug-lock-wait-timeout-exceeded-on-mysql) –

उत्तर

28

जब भी आप एक अनुक्रमण प्रक्रिया शुरू, Magento var/locks फ़ोल्डर में एक ताला फ़ाइल बाहर लिखता है।

$ cd /path/to/magento 
$ ls var/locks 
index_process_1.lock index_process_4.lock index_process_7.lock 
index_process_2.lock index_process_5.lock index_process_8.lock 
index_process_3.lock index_process_6.lock index_process_9.lock 

लॉक फ़ाइल किसी अन्य उपयोगकर्ता को अनुक्रमण प्रक्रिया शुरू करने से रोकती है। हालांकि, अगर अनुक्रमण अनुरोध पूरा हो सकता है या इसे पूरा करने से पहले विफल हो जाता है, तो लॉक फ़ाइल लॉक स्थिति में छोड़ी जाएगी। शायद यह आपके साथ क्या हुआ। मैं आपको लॉक फाइलों पर आखिरी संशोधित तिथियों की जांच करने की सलाह दूंगा ताकि यह सुनिश्चित किया जा सके कि कोई और अभी पुन: इंडेक्सर नहीं चला रहा है, और फिर लॉक फाइलों को हटा दें। यह आपके

स्टॉक स्थिति सूचकांक प्रक्रिया अब काम कर रहा है। कृपया बाद में इस प्रक्रिया को चलाने के लिए

त्रुटि। उसके बाद, यह सुनिश्चित करने के लिए कि प्रत्येक व्यक्ति पूरा करता है, एक बार इंडेक्सर्स को चलाएं।

+0

धन्यवाद एलन..मुझे नहीं पता था कि इसके पीछे पुन: अनुक्रमणिका है प्रक्रिया .. + 1 .. – Elavarasan

+0

लाइफसेवर !!!!!! – AndrewBramwell

+0

बहुत बढ़िया !!! धन्यवाद! – danilodeveloper

3

हैलो मैन्युअल तो यह

require_once 'app/Mage.php'; 
umask(0); 
Mage :: app("default"); 
$process = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_flat'); 
$process->reindexAll(); 

इस कोड में इस कोड को अपने रूट फ़ोल्डर में एक फाइल बना सकते हैं और लिख नहीं आप स्क्रिप्ट फोन मैन्युअल रूप से कुछ समय अपने Magento का अनुक्रमण करना ऐसा है क्या कि अगर आपके Magento दुकान उत्पादों की बड़ी संख्या में उत्पादों के पुनर्विक्रय के लिए बहुत समय की आवश्यकता होगी ताकि जब आप व्यवस्थापक से अपने इंडेक्स प्रबंधन में जा सकें तो यह प्रसंस्करण चरण में कुछ इंडेक्सिंग दिखाएगा, इसलिए यह कोड आपको प्रोसेसिंग चरण को हटाने में मदद करेगा आपके सूचकांक का तैयार चरण।

या यदि आप इसके अधिकार रखते हैं तो आप एसएसएच के साथ अनुक्रमण भी कर सकते हैं। यह अनुक्रमण के लिए तेजी से भी है

+0

इस उत्तर के आधार पर, मैंने Magento> = 1.9.1.0 http://magento.stackexchange.com/a/130663/13642 के लिए एक और विस्तृत समाधान लिखा –

1

आप दो चरण करने की आवश्यकता:

  1. वर के लिए 777 permition देना/ताले फ़ोल्डर
  2. वर के सभी फ़ाइल को हटाने/ताले फ़ोल्डर
0

जब भी आप शुरू एक अनुक्रमण प्रक्रिया, Magento var/ताले फ़ोल्डर में एक ताला फ़ाइल लिखता है। तो uou दो कदम क्या करने की जरूरत:

  1. वर के लिए 777 अनुमति दें/ताले फ़ोल्डर
  2. var/ताले फ़ोल्डर के सभी फ़ाइल हटाएँ।

अब व्यवस्थापक पैनल में अनुक्रमणिका प्रबंधन पृष्ठ को रीफ्रेश करें। आनंद लें !!

0

Magento के नए संस्करणों के लिए, यानी 2.1।3 मैं इस समाधान का उपयोग करने के लिए किया था: http://www.elevateweb.co.uk/magento-ecommerce/magento-error-sqlstatehy000-general-error-1205-lock-wait-timeout-exceeded

यह आपको कस्टम स्क्रिप्ट का एक बहुत चल रहा है और आप CLI से MySQL के लिए लॉग इन से पहले डेटाबेस कनेक्शन

बंद करने के लिए मौका हो जाता है स्क्रिप्ट की हत्या कर रहे हैं हो सकता है और आदेश चलाएं

शो प्रोसेसलिस्ट;

आप निम्नलिखित उत्पादन मिल जाएगा

+ --- + ------ + ------- + ------ + --- + - + - - + ------ + ---- + ----- + ---- +

| आईडी | उपयोगकर्ता | मेजबान | डीबी | कमांड | समय | राज्य | जानकारी | Rows_sent | Rows_examined | Rows_read |

+ --- + ------ + ------- + ------ + --- + - + --- + ------ + - --- + ----- + ---- +

| | 6794372 | db_user | 111.11.0.65 डाउनलोड 1532 | db_name | सो जाओ | 3800 | | नल | 0 | 0 | | | 6794475 | db_user | 111.11.0.65 मार्च 7488 | db_name | सो जाओ | 3757 | | नल | 0 | 0 | | | 6794550 | db_user | 111.11.0.65:32670 | db_name | सो जाओ | 3731 | | नल | 0 | 0 | | | 6794797 | db_user | 111.11.0.65:47424 | db_name | सो जाओ | 3639 | | नल | 0 | 0 | | | 6794 9 0 9 | db_user | 111.11.0.65:526029 | db_name | सो जाओ | 35 9 1 | | नल | 0 | 0 | | | 6794981 | db_user | 111.11.0.65:529201 | db_name | सो जाओ | 3567 | | नल | 0 | 0 | | | 67950 9 6 | db_user | 111.11.0.65:2390 | db_name | सो जाओ | 3529 | | नल | 0 | 0 | | | 6795270 | db_user | 111.11.0.65:10125 | db_name | सो जाओ | 3473 | | नल | 0 | 0 | | | 6795402 | db_user | 111.11.0.65:18407 | db_name | सो जाओ | 3424 | | नल | 0 | 0 | | | 6795701 | db_user | 111.11.0.65:35679 | db_name | सो जाओ | 3330 | | नल | 0 | 0 | | | 6800436 | db_user | 111.11.0.65:527815 | db_name | सो जाओ | 1860 | | नल | 0 | 0 | | | 6806227 | db_user | 111.11.0.67:20650 | db_name | सो जाओ | 188 | | नल | 1 | 0 | 0
+ --- + ------ + ------- + ------ + --- + - + --- + ------ + - - + ----- + ---- +

15 सेट में पंक्तियों (0.00 सेकंड)

आप एक उदाहरण के रूप में देख सकते हैं 6,794,372 आदेश नींद और समय 3800 यह रोक रहा है है अन्य परिचालन आदेशों का उपयोग करके इन प्रक्रियाओं को 1 से 1 तक मारा जाना चाहिए।

किल 6794372; एक बार जब आप सभी सोने के कनेक्शनों को मार देते हैं, तो चीजों को सामान्य रूप से सामान्य रूप से काम करना शुरू कर देना चाहिए