Как использовать Лак для Развертывания Тестирования и Функции A/B?

То, что необходимо сделать, установить сервер SMTP на поле Ubuntu, которое настроено для передачи реальному серверу SMTP (в сети или в ISP), таком как ssmtp или esmtp. Вот список легких (документы дурака):

http://wiki.mutt.org/?LightSMTPagents

Обновление:

Так как Вы запускаете Ubuntu, Вам установят Exim.

Можно настроить его с sudo dpkg-reconfigure exim4-config. Довольно легко установить к релейной почте, после того как Вы читаете некоторые документы.

/ Обновление

Следующее является Gmail настройки сервера SMTP для отправки почты через Gmail из любой программы почтового клиента:

  • Gmail набора адрес сервера SMTP: smtp.gmail.com
  • Настройте Gmail имя пользователя SMTP как: Вашему полному адресу Gmail (включая @gmail.com) пользователи Google Apps, вероятно, придется ввести username@your_domain.com
  • Настройте пароль SMTP Gmail как: Ваш пароль Gmail
  • Настройте порт Gmail SMTP как: 465 или 587
  • Настройте Gmail SMTP TLS/SSL, требуемый как: да

Наконец, Вы запишете сценарий, который звонит почтовому клиенту командной строки как дурак (я не верю почте, или mailx делают вложения). Вы могли также использовать почтовые API Perl или Python. Сценарий создает электронное письмо и присоединяет файлы, которые Вы хотите.

Наконец Вы вставили бы crontab запись для скрипта, запускаемого ежедневно (или безотносительно интервала, который Вы хотите):

01 * * * * root echo "This command is run at one min past every hour"
17 8 * * * root echo "This command is run daily at 8:17 am"
17 20 * * * root echo "This command is run daily at 8:17 pm"
00 4 * * 0 root echo "This command is run at 4 am every Sunday"
* 4 * * Sun root echo "So is this"
42 4 1 * * root echo "This command is run 4:42 am every 1st of the month"
01 * 19 07 * root echo "This command is run hourly on the 19th of July"

Посмотрите man crontab и man cron

ДРУГОЕ ОБНОВЛЕНИЕ:

Можно послать электронное письмо от командной строки с SendEmail

4
задан 21 December 2010 в 17:46
1 ответ

A/B, Тестирующий - Как Вы тестируете две "версии" каждой страницы и выдерживаете сравнение? Я имею в виду, как лак знает который страница подать? Если и как Вы сохраняете отдельные версии на каждой странице?

У Вас есть несколько вариантов:

  • Просто выставьте их в различных URL.
  • Обойдите кэш для определенного URL. Вы могли сделать это путем возврата pass в vcl_recv. Что-то вроде этого:

    sub vcl_recv {
        if (req.url ~ "^/path/to/document") {
            return (pass);
        }
    }
    
  • Явно произведите чистку кэша при представлении новой версии.

Развертывание функции - как Вы настроили бы простой механизм развертывания функции? Скажем, я хочу открыть новую возможность / страница ко всего 10% трафика.. и затем более позднее увеличение это к 20%?

Я не уверен, что существует "простой" способ сделать это. Так как можно поместить произвольный C код в Вашем .vcl файлы Вы могли, вероятно, добавить некоторую логику, чтобы выбрать случайное число и затем выбрать соответствующий путь бэкенда на основе результата.

Как Вы обрабатываете развертывание кода? Вы производите чистку своего всего кэша лака каждое развертывание? (У нас есть развертывание ежедневно). Или Вы просто позволяете ему медленно истечь (использование TTL)?

Для существенных изменений мы просто производим чистку кэша, и для меньших изменений мы просто позволяем вещам истечь.

2
ответ дан 3 December 2019 в 04:04

Теги

Похожие вопросы