17

Magento1.6.2.0ストア内のインデックス管理に問題があります。基本的に私はそれらを更新させることができません。ステータスは言うProcessingが、今は3週間以上そのように言っている。

インデックスを再作成しようとすると、このメッセージStock Status Index process is working now. Please try run this process laterが表示されますが、3週間後ですか?そのため、プロセスがフリーズしているように見えますが、再起動する方法がわかりません。

何か案は?

乾杯

4

5 に答える 5

31

インデックス作成プロセスを開始するたびに、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

ロックファイルは、別のユーザーがインデックス作成プロセスを開始するのを防ぎます。ただし、インデックス作成要求がタイムアウトするか、完了する前に失敗した場合、ロックファイルはロック状態のままになります。それはおそらくあなたに起こったことです。ロックファイルの最終更新日をチェックして、他の誰かが現在リインデクサーを実行していないことを確認してから、ロックファイルを削除することをお勧めします。これはあなたの

株式ステータスインデックスプロセスは現在機能しています。後でこのプロセスを実行してみてください

エラー。その後、インデクサーを一度に1つずつ実行して、各インデクサーが完了していることを確認します。

于 2013-01-02T20:53:05.597 に答える
3

こんにちはスクリプトを手動で呼び出しましたか?そうでない場合は、ルートフォルダに1つのファイルを作成し、その中にこのコードを記述します

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

このコードは、Magentoのインデックスを手動で実行する場合があります。Magentoストアに多数の製品が含まれている場合、製品のインデックスを再作成するのに多くの時間がかかるため、管理者からインデックス管理に移動すると、処理段階なので、このコードは、処理段階をインデックスの準備段階に移すのに役立ちます。

または、SSHの権限がある場合は、SSHを使用してインデックスを作成することもできます。インデックス作成も高速です

于 2013-01-03T05:18:36.353 に答える
2

新しいバージョンのmagento、つまり2.1.3の場合、次のソリューションを使用する必要がありました: http ://www.elevateweb.co.uk/magento-ecommerce/magento-error-sqlstatehy000-general-error-1205-lock-wait-timeout -超過

これは、多数のカスタムスクリプトを実行していて、データベース接続が閉じる前にスクリプトを強制終了した場合に発生する可能性があります

CLIからMySQLにログインし、コマンドを実行する場合

プロセスリストを表示;

次の出力が得られます

+ ——— + —————– + ——————- + —————– + ——— +-+ ——- + —————— + ———– + ————— + ———– +

| Id | ユーザー| ホスト| db | コマンド| 時間| 状態| 情報| Rows_sent | Rows_examined | Rows_read |

+ ——— + —————– + ——————- + —————– + ——— +-+ ——- + —————— + ———– + ————— + ———– +

| | 6794372 | db_user | 111.11.0.65:21532 | db_name | 睡眠| 3800 | | NULL | 0 | 0 | 0
| | 6794475 | db_user | 111.11.0.65:27488 | db_name | 睡眠| 3757 | | NULL | 0 | 0 | 0
| | 6794550 | db_user | 111.11.0.65:32670 | db_name | 睡眠| 3731 | | NULL | 0 | 0 | 0
| | 6794797 | db_user | 111.11.0.65:47424 | db_name | 睡眠| 3639 | | NULL | 0 | 0 | 0
| | 6794909 | db_user | 111.11.0.65:56029 | db_name | 睡眠| 3591 | | NULL | 0 | 0 | 0
| | 6794981 | db_user | 111.11.0.65:59201 | db_name | 睡眠| 3567 | | NULL | 0 | 0 | 0
| | 6795096 | db_user | 111.11.0.65:2390 | db_name | 睡眠| 3529 | | NULL | 0 | 0 | 0
| | 6795270 | db_user | 111.11.0.65:10125 | db_name | 睡眠| 3473 | | NULL | 0 | 0 | 0
| | 6795402 | db_user | 111.11.0.65:18407 | db_name | 睡眠| 3424 | | NULL | 0 | 0 | 0
| | 6795701 | db_user | 111.11.0.65:35679 | db_name | 睡眠| 3330 | | NULL | 0 | 0 | 0
| | 6800436 | db_user | 111.11.0.65:57815 | db_name | 睡眠| 1860 | | NULL | 0 | 0 | 0
| | 6806227 | db_user | 111.11.0.67:20650 | db_name | 睡眠| 188 | | NULL | 1 | 0 | 0
+ ——— + —————– + ——————- + —————– + ——— +-+ ——- + —————— + ———– + ————— + ———– +

セット内15行(0.00秒)

例として6794372を見ることができます。コマンドはスリープで、時間は3800です。これにより、他の操作が妨げられています。これらのプロセスは、コマンドを使用して1つずつ強制終了する必要があります。

キル6794372; スリープ状態の接続をすべて切断すると、正常に動作し始めるはずです。

于 2017-03-02T16:24:34.517 に答える
1

次の2つの手順を実行する必要があります。

  1. var/locksフォルダーに777の許可を与える
  2. var/locksフォルダのすべてのファイルを削除します
于 2013-12-30T10:56:51.967 に答える
0

インデックス作成プロセスを開始するたびに、Magentoはロックファイルをvar/locksフォルダーに書き込みます。したがって、uouは2つのステップを実行する必要があります。

  1. var/locksフォルダーに777のアクセス許可を与える
  2. var/locksフォルダのすべてのファイルを削除します。

次に、管理パネルのインデックス管理ページを更新します。楽しみ!!

于 2015-05-28T08:26:35.800 に答える