All streams
Search
Write a publication
Pull to refresh
157
0
le0pard @le0pard

User

Send message
my_rack_proc = lambda { | ENV | [200, {}, [«Hello. The time is #{Time.now}»]] }


SyntaxError: (irb):6: formal argument cannot be a constant
my_rack_proc = lambda {|ENV| [200, {}, [«Hello. The time…

переведите ENV в нижний регистр
У меня Google Nexus One. Зачем не как разработчику под Android (а эта модель так позиционировалась) там 4 версия, если я не смогу нормально там проверять софт? Мне достаточно и 2.3.6, остальное я и на эмуляторе проверю.
Насчет быстрее — мне не известно. Но это средство предоставляется как замена PG_backup_start -> rsync -> PG_backup_stop методики.
Это даже подойдет если нужно подключить еще один новый нод :)
Есть pg_basebackup для решения падения упавшей реплики в 9.1 (а также для бєкапов используется).
Почему не использовать для такого вида тестирования cucumber+capybara, а rspec покрывать бизнес логику?
Как мне известно, rspec как раз для тестировании бизнес логики заточен.
Ну так это понятное дело при работе с асинхронной репликацией — вы получаете скорость, но теряете корректность(consistency) узлов. Для этого вы могли использовать
На мастере:
SELECT pg_current_xlog_location()
на слеве:
SELECT pg_last_xlog_receive_location()
и получали разницу в отставании узла от мастера. В 9.1 для этого на мастере появилась новая view pg_stat_replication, в которой как раз и показаны состояния (и отставания) слейвов.
Для автоматизации применения селекта со свейвов используется pgpool-|| 3 версии, который может балансировать при стриминг репликации учитывая отставания слейвов (используя методику, что я выше написал).

Так что ваша проблема высосана из пальца, не более.
Вообще в потоковой асинхронной каскадной (рекурсивной) репликации или же при колличестве слейвов больше 1-2 при большом потоке INSERT/UPDATE на Master мы можем воткнуться на несогласованность данных — когда слейвы начнут тихо и не злобно тормозить с обновлениями.


Можете подробней рассказать про «несогласованность данных» и почему слейвы начнут тормозить?
>> Если требуется failover (т.е. останавливается Master и все запросы временно идут на Slave, а потом запущенный Master начинает догоняется до актуального состояния со Slave).

failover — переключение при падении мастера на один из слейвов, востановление тут не причем. Кстати, какая тригерная репликация сделает так, что б мастер догнал слейв (без переключения мастера в режим слейва — стриминг так тоже умеет)?

>>Master и Slave не являются 1:1 идентичными. Например, по какой-то причине на Slave надо держать дополнительные данные (базы/таблицы) или же копированию с Master подлежат не все базы/таблицы, или же при удалении данных — они должны сохраниться на Slave.

Тогда это не репликация.

>>В проекте требуется рекурсивная репликация Master-Slave1-Slave2-Slave3 или в реально нагруженном INSERT/UPDATE проекте к Master параллельно подключается больше, чем 1 Slave (хотя некоторые проекты имеют нагрузку, с которой могут нормально работать и до 5-6 Slave).

Вы имеете ввиду каскадную репликацию или несколько слейвов на одно мастере? И то и другое умеет делать стриминг репликация.

>> Если по какой-то причине требуются различные права доступа к объектам базы на Master и Slave.

Опять же, при чем тут репликация?

ЗЫ Репликация — механизм синхронизации содержимого нескольких копий объекта.
шлейфы у него интересно сделаны (которые маленькие). Это конечно уменьшает их размер, но на сколько такое подключение надежно? И что то клейкого материала многовато для такого устройства.
Все, наверно, просто. Для приложений Chrome можно создать background страницу, где будут выполнятся фоновые задачи — code.google.com/chrome/extensions/background_pages.html При запуске приложение, похоже, в данную страницу выгружаются данные в обьекты js, но не освобождаются, когда приложение закрыто — оно дальше оперирует с этими данными.
Да вроде тоже не первый день с Amazon работаю.
Доступ к серверу у Вас был по ssh? И софт я так понял вы могли ставить (пусть через sudo). Что мешало создавать пользователей?
fi
if groups | grep -q rvm; then
export PATH = $PATH:/usr/local/rvm/bin
fi


Зачем? При перегрузки консоли пользователям будет доступен rvm, поскольку такая установка создаст файл /etc/rvmrc.

Так как создать пользователя с возможностью доступа через ssh не представляло возможности


Банальный вопрос — почему?

В Capfile добавьте следующее:

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require «rvm/capistrano»
set :using_rvm, true
set :rvm_ruby_string, 'ree@foo_site'#указывает версию ruby и имя gemset
set :rvm_type, :system


Чем вам не угодил config/deploy.rb?
у нас самописная утилита заполняет гугл календарь и гугль таблицу. Так все в команде могут увидеть в календаре — деплои веток проекта, а в таблице — на какие сервера какие фичи деплоились (для QAs удобно знать можно ли тестировать).
Да долго не думая — postmarkapp.com/(предоставляет как API так и SMTP) как пример, поскольку многие это предоставляют (хоть и не все). Понятное дело спам он не позволит рассылать даже через SMTP :)
Странно, но я сталкивался только с проблемой MATCH (учет регистра), остальное все отлично работает с кирилицой в sqlite на android.
Народная мудрость:
Есть два типа администраторов — те, кто не делает бэкапы, и те, кто уже делает
Миллиард таблиц не удалось создать поскольку кончилось место на жестком диске? Я ждал более интересного ответа :)
Начало отличное
img.skitch.com/20110524-piwdnh229qjub7ttyxwsid5me3.jpg

надо уточнять что там за звезды :)

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity