Drupal 7 で cron を実行しようとすると「実行中です」と出て実行できないエラー
Drush を使って cron を実行しようとすると次のようなエラーが出てしまい実行できないことがあります。
WD cron: Attempting to re-run cron while it is already running.
原因
このエラーが起こるのは、 cron プロセスがすでに実行中のときか、実行中でなければ前回の cron 実行中に処理が途中で終了し関連データが残った場合に多いようです。
対処方法
cron が実際に実行中の場合には少し待つだけで OK です。
ただし、時間のかかる hook_cron()
処理がある場合はその分だけ待たなくてはなりません。
cron を実行していないのにエラーが発生する場合は MySQL を直接操作して関連レコードを削除して無理やり解決するしかありません。
$ drush sql-cli
> DELETE variable WHERE name LIKE "cron%";
Drush を入れている場合は以下のコマンドで MySQL の CLI を開くこともできます。
$ drush sql-cli