回答:
Drupalにはキュー用の組み込みの管理UIはありませんが、1つを探している場合は、キューUIモジュールを確認してください。
コードでキューを削除するには $queue->deleteQueue();
drush
キューをクリアするオプションを持っていない、そこだけであるdrush queue-list
とdrush queue-run
。ただし、これを使用して、対応するキューレコードをデータベースから削除できます。
使用drush queue-list
して、クリアするキューの名前を見つけます。私の場合はmessage_subscribe
です。
次のようなコマンドを使用し、それに応じてキューの名前に置き換えます。
drush sqlq "DELETE FROM queue WHERE name='message_subscribe'"
drush queue-list
問題のキューにアイテムが含まれていないことを確認します。
このソリューションは@batigolixのソリューションと非常に似ていますが、すべてのキューではなく特定のキューをクリアします。
注意してください。@batigolixが言ったように、データを失わないように注意してください!このソリューションは本番環境向けではない可能性があります…
はい。キューテーブルを空にすることで、データベース内のキューを削除またはクリアできます。
Drushでは、で簡単にそれを行うことができますdrush sqlq "TRUNCATE queue"
。
気をつけて。これをローカルの開発環境で試しました。本番環境では推奨されない場合があります。
queue
他のモジュールによって作成されたキューからのアイテムも含まれているため、テーブル全体を空にすることは必ずしも良い考えではありません。したがって、より明確な方法は、特定のキューからアイテムを削除することです。
queue
を使用してテーブルを参照し、テーブルに存在するキューを調べます。キューにいくつかの項目があるすべてのキュー名を取得するには、を実行できます。mysql
phpmyadmin
SELECT DISTINCT name FROM queue
DELETE FROM queue WHERE name = :name
。`:name:を最初のステップで見つけたキューの名前に置き換えます。私はこれをプロダクションで使用しましたが、注意して判断してください。簡単に言うと、他のモジュールのキューまたは目的がわからないキューからデータを削除しないことが最善です。