it-swarm.asia

كيف أقوم بمسح أو حذف قائمة الانتظار؟

قمت بجدولة قائمة انتظار كبيرة مع VBO ، لكني غيرت رأيي. كيف يمكنني حذفه؟ لا أجد أي واجهة مستخدم/واجهة لإدارة قوائم الانتظار. هل علي حذفه في قاعدة البيانات؟

8
giorgio79

لا توجد واجهة مستخدم إدارة مضمنة لقوائم الانتظار في Drupal ولكن إذا كنت تبحث عن واحدة ، تحقق من Queue UI module .

لحذف قائمة انتظار في التعليمات البرمجية ، استخدم $queue->deleteQueue();

11
bjeavons

drush ليس لديه خيار لمسح قوائم الانتظار ، هناك فقط drush queue-list و drush queue-run. ومع ذلك ، يمكنك استخدامه لحذف سجلات قائمة الانتظار المقابلة من قاعدة البيانات:

  1. استعمال drush queue-list لمعرفة اسم قائمة الانتظار التي تريد محوها. في حالتي هو message_subscribe.

  2. استخدم أمرًا مثل هذا ، مع استبدال اسم قائمة الانتظار وفقًا لذلك:

    drush sqlq "DELETE FROM queue WHERE name='message_subscribe'"
    
  3. تأكيد ب drush queue-list أن قائمة الانتظار تحتوي الآن على صفر عناصر فيه.

هذا الحل مشابه تمامًا لـ @ batigolix ، فقط أنه يمسح قائمة انتظار معينة بدلاً من جميع قوائم الانتظار.

احذر. مثلbatigolix قال ، احذر من فقدان البيانات! قد لا يكون هذا الحل لبيئة إنتاج ...

13
tanius

نعم ، يمكنك حذف أو مسح قائمة انتظار في قاعدة البيانات عن طريق إفراغ قائمة الانتظار.

يتيح لك Drush القيام بذلك بسهولة باستخدام drush sqlq "TRUNCATE queue".

حذر. جربت هذا في بيئة تطوير محلية. قد لا يوصى به في الإنتاج.

إفراغ الجدول queue ليس دائمًا فكرة جيدة لأنه يحتوي على عناصر من قوائم الانتظار التي تم إنشاؤها بواسطة وحدات أخرى أيضًا. لذا ، فإن الطريقة الأنظف هي إزالة العناصر من قائمة انتظار معينة.

  • أولاً ، افحص قوائم الانتظار الموجودة في الجدول queue من خلال تصفح الجدول باستخدام mysql أو phpmyadmin. للحصول على جميع أسماء قوائم الانتظار مع بعض العناصر في قائمة الانتظار ، يمكنك القيام بـ SELECT DISTINCT name FROM queue.
  • ثانيًا ، بمجرد تحديد قائمة الانتظار التي تريد إفراغها ، قم بإزالة العناصر الخاصة بقائمة الانتظار هذه فقط باستخدام DELETE FROM queue WHERE name = :name. استبدل `: name: باسم قائمة الانتظار التي وجدتها في الخطوة الأولى.

لقد استخدمت هذا في الإنتاج ، ولكن يجب عليك توخي الحذر واستخدام حكمك. باختصار ، أفضل شيء هو عدم حذف الأشياء من قائمة انتظار الوحدة النمطية الأخرى أو قوائم الانتظار التي لا تعرف الغرض منها.

5
batigolix