Programmatically execute a drush command in an update hook.

September 20, 2017

Submitted by twfahey on Wed, 09/20/2017 - 13:10

Something pretty awesome that I did recently was to figure out how to execute a drush command in an update hook. I was working on a client site in which, we had the dreaded "Missing module" issue - a ton of these harmless yet super annoying warnings whenever a cache-clear or other certain actions were performed:

The following module is missing from the file system: <em              [warning]
class="placeholder">energy_institute_site_configuration</em>. For
information about how to fix this, see <a
href="https://www.drupal.org/node/2487215">the documentation
page</a>. bootstrap.inc:1168
The following module is missing from the file system: <em              [warning]
class="placeholder">slick_homepage_slideshow</em>. For information
about how to fix this, see <a
href="https://www.drupal.org/node/2487215">the documentation
page</a>. bootstrap.inc:1168

...

Of course, "There's a module for that!", https://www.drupal.org/project/module_missing_message_fixer, and it comes with a great drush command for knocking out all those errors in one shot:

drush mmmff --all

So, at first, I thought I could just add the module to my repo, run drush enable and drush mmmff, and call it a day. But what fun is that? Why not demonstrate the ability to do this programmatically, through an update hook within my already enabled deploy module. My Pantheon server was configured to run drush, as was my local environment, so to pull this off, I had to combine a couple of drush functions:

/**
 * Get rid of pesky missing module warnings.
 */
function mymodule_deploy_update_7101(&$sandbox) {
  $modules_to_enable = array(
    'module_missing_message_fixer'
  );
  module_enable($modules_to_enable);
  drush_print("Enabled module_missing_message_fixer. Executing fix...");
  drush_set_option('all', 'all');
  drush_invoke('module-missing-message-fixer-fix');
}

At first, I was trying just the drush_invoke, but it was complaining that I hadn't passed '--all'. After a bit of research, I realized it's possible to use drush_set_option to simulate the passing of that type of argument from the command line. I can also note here that drush_invoke takes an array as a second argument if you need to pass the name of a specific module in this case, but whatever kind of command line argument that might be expected to be passed if you were trying to simulate something like:

drush mmmff some_module_name

So in that case, I believe you could modify the update slightly:

/**
 * Get rid of pesky missing module for a specific module.
 */
function mymodule_deploy_update_7101(&$sandbox) {
  $modules_to_enable = array(
    'module_missing_message_fixer'
  );
  module_enable($modules_to_enable);
  drush_print("Enabled module_missing_message_fixer. Executing fix...");
  drush_invoke('module-missing-message-fixer-fix', array(
   'some_module_name',
  ));
}

 

Many thanks to http://www.drupalcontrib.org/, I referenced them through the process.

Comments

Submitted by SimaHaina (not verified) on Thu, 10/17/2019 - 08:02

Permalink

Чтобы вылечить рак, требуется дорогостоящее и эффективное
лечение.
Медикамент Ксалкори (Crizotinib) - Xalkori (Кризотиниб)
предназначен для терапии немелкоклеточного рака лёгких. Новейшее средство успело отлично зарекомендовать себя в терапии серьёзного заболевания.

Состав и свойства
В эффективный препарат последнего поколения входит активное
лекарственное вещество кризотиниб, которое является
селективным ингибитором тирозинкиназы и киназы анапластической
лимфомы.
Также в препарат включены дополнительные вещества,
которые способствуют лучшей абсорбции лекарственного
вещества.
Лекарство последнего поколения прекращает дальнейшее развитие
злокачественной опухоли и убивает раковые клетки.
В результате воздействия средства происходит индуцирование
кризотинибом опухолевых клеточных структур.
Препарат Ксалкори – мощное противоопухолевое средство,
которое часто назначается врачами, если предыдущее лечение
рака лёгких не принесло положительного результата.
Противоопухолевое воздействие средства является дозозависимым.
Чтобы медикамент
Ксалкори (Crizotinib) - Xalkori (Кризотиниб) купить по сниженной цене, обращайтесь в нашу интернет аптеку.

Показания
• ALK-позитивный немелкоклеточный рак; • ROS-1-позитивный рак лёгкого.

Противопоказания
• гиперчувствительность к составу средства; • беременность; • лактация; • детский возраст;
• печёночная недостаточность; • совместный приём с ингибиторами CYP3A.

Способ применения
Приём данного лекарства не зависит от употребления пищи. Капсула проглатывается,
не разжёвываясь. Требуется непременно запить медикамент чистой водой.
Медики рекомендуют дозу препарата - 250 мг (2 раза в сутки).
Не следует удваивать лекарственную дозировку при пропуске употребления средства.
Коррекция дозы зависит от выраженности CTCAE.
При выраженных побочных эффектах лекарство временно отменяется.
Однако на средство Ксалкори (Crizotinib) - Xalkori (Кризотиниб) отзывы
встречаются лишь положительные. Препарат хорошо переносится организмом.

Побочные реакции
• головокружения; • нейропатия; • понижение аппетита; • тошнота; • диарея; • запор;
• нарушения зрения.

Где купить лекарство
У нас на сайте каждый покупатель может купить лекарство по приемлемой стоимости.
На медикамент Ксалкори (Crizotinib) - Xalkori (Кризотиниб) цена доступна каждому
покупателю. Вы можете заказать доставку медикамента по указанному номеру телефона либо
оформить покупку прямо в форме заказа. Если вам требуется лекарство
Ксалкори (Crizotinib) - Xalkori (Кризотиниб) стоимость в нашей интернет аптеке
намного ниже, чем в других пунктах продажи. Приобретение медикамента на нашем
сайте гарантирует вам высокое качество нужного лекарства и экономию денег.
Вы можете заказать необходимое лекарство, не выходя из дома, прямо сейчас!

Crizocent купить

Submitted by dihodordsky (not verified) on Fri, 10/18/2019 - 12:56

Permalink

Хотите надежную охрану? Щенки немецкой овчарки с дрессировкой... Дрессировка собак в питомнике немецкой овчарки. Дрессировка собак.. Двухмесячные Щенки и взрослые дрессированные овчарки. Порода немецкая овчарка. Собаки с родословной.

Submitted by Dorothyeligh (not verified) on Wed, 10/23/2019 - 10:21

Permalink

Spegra (Долутеглавир / Тенофовир алафенамид / Эмтрицитабин) - Спегра (Dolutegravir/ Taf / Emtricitabine) – это лекарство для лечения людей, которые столкнулись с ВИЧ-1 инфекцией. Симптомы заболевания быстро исчезнут, и уже через некоторое время Ваше общее самочувствие значительно улучшится: Вы забудете о том, что такое боли и дискомфорт. Благодаря данному лекарству можно исключить риск летального исхода.

Вы можете Spegra (Долутеглавир / Тенофовир алафенамид / Эмтрицитабин) - Спегра (Dolutegravir/ Taf / Emtricitabine) купить в нашей аптеке на выгодных условиях. Специалисты говорят о том, что перед началом лечения необходимо обязательно обратиться в больницу. Вы сдадите назначенные анализы и пройдете диагностику организма. Доктора разработают для Вас индивидуальную схему терапии,
которая даст возможность получить максимальный эффект.

Показания к применению

Препарат содержит в составе три активных компонента,
выполняющих антиретровирусные функции.
Лекарство воздействует на организм комплексно,
поэтому Вы совсем скоро почувствуете себя лучше и
сможете справиться с опасной ВИЧ-1 инфекцией,
которая нередко приводит к летальному исходу.
Вирус не будет быстро развиваться,
и Вы не столкнетесь с непредвиденным ухудшением ситуации
со здоровьем.
Принимать медикамент необходимо по схеме,
которую разработал опытный врач, и только тогда
Вы не столкнетесь с непредвиденными изменениями самочувствия.

Противопоказания

Нужно узнать заранее, нет ли у Вас следующих противопоказаний:

• грудное вскармливание, период беременности;
• аллергия на основные компоненты, входящие в состав препарата;
• заболевания, которые иногда обостряются;
• возраст до 18-ти лет;
• заболевания кожи, дерматологические проблемы.

На Spegra (Долутеглавир / Тенофовир алафенамид / Эмтрицитабин) - Спегра (Dolutegravir/ Taf / Emtricitabine) отзывы хорошие.
Пациенты говорят, что применение таблеток позволило им
справиться с различными проблемами.
Вы можете опробовать медикамент на практике,
чтобы убедиться в его эффективном воздействии на организм,
достаточно оформить заказ.

Способ применения

На Spegra (Долутеглавир / Тенофовир алафенамид / Эмтрицитабин) - Спегра (Dolutegravir/ Taf / Emtricitabine) цена доступная.
Чтобы справиться с болезнью, достаточно принимать
по одной таблетке лекарства до или после еды утром и вечером,
четко следуя разработанной доктором схеме.

Побочные явления

Если нарушить схему терапии, можно столкнуться с такими сложностями:

• расстройства желудка;
• отсутствие сил, бессонница;
• боли в области желудка;
• резкие скачки давления;
• инфекции дыхательных путей;
• кровотечения из носа.

На Spegra (Долутеглавир / Тенофовир алафенамид / Эмтрицитабин) - Спегра (Dolutegravir/ Taf / Emtricitabine) стоимость доступная.
Помните: нужно строго придерживаться рекомендаций специалиста,
чтобы не столкнуться с проблемами.

вич терапия 2019

Submitted by ThomasAffor (not verified) on Sun, 10/27/2019 - 14:14

Permalink

Здравствуйте!
Даже очень забавный сайт.

Море приколов...
На данном сайте Вы можете найти массу отзывов о компаниях
Переходи на сайт:

https://werecommend.ru

Submitted by mischckinav (not verified) on Tue, 10/29/2019 - 00:34

Permalink

Что делать если обросло днище водного транспорта? Химия для быстрой очистки днища и бортов... Чистим катер ниже ватерлинии. Купить химию для мойки яхт, мойка катеров, полировка днища.. Доставка химии для мойки в разыне города.. Подготовка судна к зимниму хранению.

Submitted by RobertDup (not verified) on Sat, 11/02/2019 - 13:15

Permalink

Доброй ночи!
Даже очень такой прикольный сайт.

Масса приколов...Speed, План, Спайс, Мяу-Мяу, и т.д.
Доброе пожаловать на сайт:

http://hydra-onion.ifydugegyzuf.tk

Submitted by AndreatAx (not verified) on Mon, 11/04/2019 - 02:03

Permalink

Оформленная медицинским учреждением форма дает право ребенку на получение набора социально-медицинских услуг как в санаторно-курортных организациях Российской Федерации, так и за рубежом. Выдается она детям в возрасте от 4 до 14-17 лет. Медицинский документ состоит из: самой справки — заполняется от руки лечащим врачом ребенка до отправки в санаторий; обратного (еще называют отрывной талон) бланка — заполняется рукой медицинского работника санаторно-курортной организации после завершения лечения.

Теги темы: заказать справку о болезни в университет, справка для вуза 086 купить, паспорт здоровья платно, купить справку от гриппа москва недорого, сколько стоит сделать справку 2 ндфл, справка в бассейн с доставкой на дом, купить медицинскую справку в летний лагерь

Первоисточник: http://medoi.info/product-tag/discounts/ http://www.rosavtodor.ru/

Submitted by Laraunfox (not verified) on Tue, 11/05/2019 - 17:01

Permalink

LuciSun - дженерик Сутент (Sutent) - Sunitinib (Сунитиниб) – это противоопухолевый препарат,
который был произведен на основе сунитиниба.
Препарат назначают людям с онкологическими заболеваниями,
при опухолевом процессе с метастатическими поражениями.
Основное действие препарата заключается в том,
что активное действующее вещество блокирует
тирокиназы – именно эти рецепторы отвечают за поддержание роста
опухоли. Благодаря препарату можно подавлять рост опухоли,
а процесс распространения метастаз постепенно тормозится.
LuciSun - дженерик Сутент (Sutent ) - Sunitinib (Сунитиниб) купить можно
на этом сайте – мы предлагаем качественную продукцию
по адекватным ценам.
Опытные специалисты расскажут всю информацию о производителе,
при необходимости предъявят сертификаты качества и предоставят
прочую актуальную информацию для потенциального покупателя.

Как принимать?
Принимать таблетки нужно орально, при этом пить их можно,
не связывая с приемом пищи.
Важно соблюдать одно условие: пить капсулы нужно в одно и то
время – чтобы в крови поддерживать оптимальный уровень
основного действующего вещества.
На LuciSun - аналог Сутент (Sutent) - Sunitinib (Сунитиниб) цена
колеблется, и этот фактор напрямую зависит от формы выпуска
препарата.
У нас стоимость лекарства адекватная,
одна из самых низких – и это связано с тем,
что мы работаем напрямую с производителем.
Что касается дозировки, то для каждого пациента она индивидуальная.
Как правило, доза зависит от общего самочувствия,
сложности заболевания и его запущенности,
сопутствующих недугов.
Все эти факторы учитывает врач-онколог при назначении
препарата.
Стандартная дозировка подразумевает ежедневное применение
пациентом 50 мг лекарства.
Что касается курса – 4 недели человек должен пить таблетки,
спустя 2 недели нужно сделать перерыв.
При необходимости терапию возобновляют вновь.
Про LuciSun - аналог Сутент (Sutent) - Sunitinib (Сунитиниб) отзывы
положительные.
Пациенты, проходившие лечение с применением этого средства,
утверждают, что при корректно подобранной дозировке побочные
эффекты отсутствуют, лекарство переносится хорошо,
а терапия дает положительные результаты.

Онкология – не приговор!
Благодаря тому, что наука уверенно идет вперед,
ученым удается с каждым годом создавать все новые и новые
препараты, благодаря которым можно приостановить рост опухоли.
На LuciSun - дженерик Сутент (Sutent) - Sunitinib (Сунитиниб) стоимость
– высокая, но лекарство того стоит.
Оно является эффективным, препарат прошел множество
клинических испытаний, и все они подтверждают – средство
является действительно эффективным.
Причем если проводить химио- либо лучевую терапию – в некоторых
случаях она является неэффективной.
Мало того, облучение крайне негативно действует на все
органы и системы организма.
У таблеток, конечно, имеются негативные побочные эффекты,
но проявляют себя они крайне редко, и никак не сравнятся
с побочками, которые возникают после проведения химиотерапии.

сутент побочные действия

Submitted by rmahmedovva (not verified) on Tue, 11/05/2019 - 17:03

Permalink

Как научиться водить мащину. Управление автомобилем. Устройство автомобиля и уход за ним, техобслуживание.... Наука управления автомобиля в экстримальных условиях. Как получить права категории Б. Учимся управлять грузовым автомобилем. Эксплуатация грузовых автомобилей.

Submitted by Williamlex (not verified) on Wed, 11/06/2019 - 03:26

Permalink

Привет!
Очень прикольный сайт.

Масса приколов...Mefedron, Мяу-Мяу, Фен, Скорость, и т.д.
Переходи на сайт:

http://www.hydra--2web.site/narkotik - 28/prodazhe-narkotikov-po-sayt - 57.php

Submitted by Williamlex (not verified) on Mon, 11/11/2019 - 07:01

Permalink

Доброй ночи!
Необыкновенно незабываемый сайт.

Масса приколов...Гердос, Скорость, A-PVP, Альфа, и т.д.
Доброе пожаловать на сайт:

https://frankcasinos-play.com/otzyvy-kazino-frank/
Геи

франк казино официальный

Геи

Submitted by olchiklelina (not verified) on Mon, 11/11/2019 - 15:30

Permalink

nmz.regionsv.ru/. Все для нумизмата. Купить монету.Зимия для ультразвуковой очистки монету.

Submitted by colyayanikolaev (not verified) on Fri, 11/15/2019 - 04:24

Permalink

Купить и дрессировать щенка немецкой овчарки в Саратове. Дрессировка собак в Саратове.. Передержка собак в Саратове. Заводчик немецкой овчарки

Add new comment