Архив автора: admin

Боль в горле успокоят имбирь и алоэ.

Рецепт очень простой, и меня он часто выручает.

Необходимо в стакан с горячим чаем добавить 1 ч.л. молотого имбиря (пряность, которую частенько используют в кулинарии).

Выпив чай с имбирем, хорошо укрыться и полежать.

Вместо боли в горле вы почувствуете жжение, тепло, которое распространится по всему телу. Имбирь не только согреет, но и уничтожит болезнетворные микроорганизмы. Читать

КАК СДЕЛАТЬ СЕРДЦЕ ЗДОРОВЫМ?

Здоровье существует до тех пор, пока мы прилагаем усилие для его сохранения. Если люди выберут для себя правильное питание при регулярных физических нагрузках, в мире будет намного меньше больных — сердечников. Будущее в наших руках, и только мы сами можем защитить себя от болезней. Читать

Зеленая аптека: чеснок и лук спасут от гриппа

Когда слышу разные советы, как лечиться от гриппа, всегда вспоминаю собственный «секрет». Хотя — почему секрет? Всем своим знакомым советую запастись на зиму чесноком и готовить чесночные капли. Меня это средство еще никогда не подводило: в первые же дни недомогания начинаю его применять и болезнь проходит быстро без всяких осложнений Большой зубок чеснока измельчить и залить столовой ложкой масла или рыбьего жира, настоять 8 часов, жидкость процедить через марлю. Закапать в нос по 5 капель трижды в сутки.

Однако помните, что все капли, которые содержат жиры, препятствуют выходу слизи из носа. Чтобы нос окончательно не «забился», накануне закапайте в ноздри по 1-2 капли сока свеклы, белокочанной капусты или можно устроить себе чесночно-луковую ингаляцию. Половину луковицы и несколько зубков чеснока натереть на терке, поместить в высокий стакан. Наклонившись над сосудом, глубоко вдыхайте в течение 1-2 минут воздух, обогащенный фитонцидами. Для каждой ингаляции следует готовить свежие «лекарства».

Виктория Годунова
При перепечатке ссылка на сайт обязательна


Автор: артефакты

Fabric: Модель выполнения

Если Вы читали руководство, то Вы должны быть уже знакомы с тем, как Fabric работает (с одной задачей на одном хосте). Однако, во многих ситуациях Вы можете захотеть выполнить несколько задач и/или на нескольких хостах. Возможно, Вы захотите разделить одну большую задачу на несколько маленьких, или обойти список серверов в поисках тех, на которых надо удалить выбранного пользователя. Все эти сценарии требуют некоторых правил о том, как и когда выполняются задачи.
Этот документ описывает модель выполнения Fabric, включая главный цикл выполнения, определение списка хостов, создание подключений и т.д.

Стратегия выполнения

По умолчанию Fabric работает в одиночном, последовательном режиме выполнения, хотя, начиная с версии 1.3, доступна параллельная модель выполнения (см параллельное выполнение). Поведение по умолчанию заключается в следующем:
  • Создаётся список задач. На данный момент это просто список аргументов, переданных fab'y, сохраняя порядок аргументов
  • Для каждой задачи из разных источников создаётся список хостов (подробнее см «Как создаётся список хостов» ниже)
  • Проходится список задач, каждая задача запускается один раз для каждого хоста в списке
  • Задачи, для которых нет хостов в списке хостов, выполняются только локально и всегда запускаются только один раз
Таким образом, если у нас есть следующий fabfile:
    from fabric.api import run, env

env.hosts = ['host1', 'host2']

def taskA():
run('ls')

def taskB():
run('whoami')
и мы выполняем команду:
 $ fab taskA taskB
мы увидим, что Fabric выполнит следующее:
  • taskA выполняется на host1
  • taskA выполняется на host2
  • taskB выполняется на host1
  • taskB выполняется на host2
Хотя это и упрощённый подход, он позволяет очевидно сопоставить задачи и хосты и (в отличие от инструментов, которые запускают задачу сразу на нескольких узлах) позволяют реализовать логику скрипта, где Вы проверяете результат выполнения предыдущей команды и на основании этого решаете что делать дальше.

Определение задач

Подробнее о том, что такое задачи Fabric и с чем их едят, смотрите «Определение задач«

Определение списка хостов

Если только Вы не используете Fabric как просто систему запуска локальных скриптов (что возможно, но не является его основной задачей), наличие задач без возможности определить хосты для их выполнения было бы малополезным. Есть несколько способов сделать это, область воздействия этих методов меняется от глобальной до «только на одну задачу» и их можно смешивать в нужных пропорциях.

Хосты

Хостами, в данном контексте, называется то, что обычно называется «строками хостов»: строка, которая определяет имя пользователя, имя хоста и номер порта: `username@hostname:port`. Пользователя и порт (и, соответственно, `@` и `:`) могут быть опущены; в таком случае будет использоваться локальное имя пользователя и порт 22. Таким образом, «admin@foo.com:222», «deploy@website» и «nameserver1» могут быть использованы в качестве строк хостов.
Так же поддерживается нотация IPv6, например, «::1», «[::1]:1222», «user@2001:db8::1» или «user@[2001:db8::1]:1222». Квадратные скобки нужны только для того, чтобы отделить адрес от номера порта. Если номер порта не указан, то скобки тоже можно не использовать. Кроме того, если строка хоста задаётся через командную строку, то в некоторых оболочках может потребоваться экранировать эти скобки.
Примечание: Раздел между именем пользователя и именем хоста происходит по последнему найденному знаку @, так что можно вполне использовать email адрес в качестве имени пользователя.
В процессе выполнения Fabric нормализует полученную строку хоста и затем сохраняет каждую часть (имя пользователя / имя хоста / порт) в словаре окружения и для их использования и для того, чтобы задачи по необходимости могли на них сослаться. Более детально смотри в «Словарь окружения«.

Роли

Строка хоста определяют один хост, но иногда бывает полезно объединить хосты в группы. Возможно, у Вас есть несколько Web серверов за балансировщиком нагрузки, и Вы хотите обновить их все; или Вы хотите запустить задачу на «всех клиентских серверах». Роли п