@rubylang

Страница 1008 из 1684
Vitaly
12.05.2017
16:58:30
https://habrahabr.ru/company/everydaytools/blog/328406/

Vasiliy
12.05.2017
17:16:05
ало

деплой на хероку и не знай бед

Denis
12.05.2017
17:16:59
Такое не катит

Google
Denis
12.05.2017
17:17:14
Есть vps на него надо все

Vasiliy
12.05.2017
17:18:01
капистрано+пума+нгинкс

Denis
12.05.2017
17:23:57
Капистрано это просто контейнер? На подобии докер?

Klim
12.05.2017
17:25:01
нет. эдо типа дсл для деплоя.

v
12.05.2017
17:31:29
а как ты решил с капистрано не связываться?

если не представляешь что это

Anton
12.05.2017
19:38:12
подскажите, как уменьшить время для срабатывания строки состояния (полоса загрузки вверху страницы во время запроса)?

v
12.05.2017
19:38:58
интернет более быстрый купить

Anton
12.05.2017
19:46:21
ок, но я читал где-то что можно поставить его время срабатывания

ojab
12.05.2017
19:48:16
если речь о турболинках — см. PROGRESS_BAR_DELAY в сорцах

v
12.05.2017
19:50:35
телепт в чати

Google
Vitaly
13.05.2017
07:54:27
подскажите пожалуйста, когда несколько моделей используют одну общую модель, например изображения, применяют STI или делают все раздельно через вшений ключ? просто если STI, то я что-то не соображу как, в туториалах не видел что бы производная модель имела has_many к родительской

ojab
13.05.2017
07:57:37
когда как

has_many :xxx, class_name: Yyy позволяет какие угодно связи делать

Vitaly
13.05.2017
07:59:46
то есть если я отдельно не генерил модель производную, а просто дописал производный класс дальше под родительским, то я могу применить такой способ связи? даже если производных моделей будет много?

ок, буду считать что да.

спасибо.

ojab
13.05.2017
08:04:25
ага, можешь

Vitaly
13.05.2017
08:05:42
ага, можешь
а можешь пожалуйста объяснить, в чем тогда будет разница, между обычной STI структуры, от той где в производных еще дописываются has_many :parent?

ведь по сути и так и этак их можно сделать множество а разделяются они по type

ojab
13.05.2017
08:12:09
тем что в sti ты можешь леко вытащить все записи по parent'у, например

сколько бы у тебя type'ов не было

или что имеется в виду под той где в производных еще дописываются has_many :parent?

Vitaly
13.05.2017
08:13:35
а ща напишу пример

вот без has_many STI class Image < ApplicationRecord end class Bike < Image end class Auto < Image end а вот как ты сказал с has_many: class Image < ApplicationRecord belongs_to :bike belongs_to :auto end class Bike < Image has_many :images, class_name: :image end class Auto < Image has_many :images, class_name: :image end

и я не врубаюсь зачем тут has_many, что это дает и в чем разница

ojab
13.05.2017
08:18:45
здесь ничего не даёт, насколько я вижу

STI нужен если, например, class Person has_many :actions end class Action belongs_to :person end class FirstSubAction < Action; end class SecondSubAction < Action; end

одним запросом мы можем вытащить все Action для Person

Vitaly
13.05.2017
08:21:37
но как в твоем примере же нет связи Person с Action?

ojab
13.05.2017
08:23:04
fxd, она там подразумевалась, ага

Google
Vitaly
13.05.2017
08:26:51
извини, докапаюсь по поводу твоего примера, под Actions подразумевается список Экшенов для Контроллера? или это просто абстракный пример?

ojab
13.05.2017
08:27:11
это всё модели

у юзера есть много действий, действия бывают разные

у каждого действия какие-то свои поля

(но пример абстрактный, да)

Vitaly
13.05.2017
08:35:47
понятно.... спасибо ?

Denis
13.05.2017
18:46:10
Перевел рельсы в продакшен. Создал shared/pids shared/sockets shared/log. Настроил сервер puma. Отредактировал config/puma.rb workers 2 threads 1, 6 app_dir = File.expand_path("../..", __FILE__) shared_dir = "#{app_dir}/shared" rails_env = ENV['RAILS_ENV'] || "production" environment rails_env bind "unix://#{shared_dir}/sockets/puma.sock" stdout_redirect "#{shared_dir}/log/puma.stdout.log", "#{shared_dir}/log/puma.stderr.log", true pidfile "#{shared_dir}/pids/puma.pid" state_path "#{shared_dir}/pids/puma.state" activate_control_app on_worker_boot do require "active_record" ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished ActiveRecord::Base.establish_connection(YAML.load_file("#{app_dir}/config/database.yml")[rails_env]) end Создал /etc/nginx/sites-available/hm c содержимым: upstream app { server unix:/home/hm/web/yourhm.com.ua/kpsrtf/shared/sockets/puma.sock fail_timeout=0; } server { listen 80; server_name localhost; root /home/hm/web/yourhm.com.ua/kpsrtf/public; try_files $uri/index.html $uri @app; location @app { proxy_pass http://app; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; } Создал сервис запуска /etc/systemd/system/puma.service [Unit] Description=Puma application server After=network.target [Service] WorkingDirectory=/home/hm/web/yourhm.com.ua/kpsrtf #Environment=RAILS_ENV=production User=rails PIDFile=/home/hm/web/yourhm.com.ua/kpsrtf/shared/pids/puma.pid ExecStart=/home/hm/.rbenv/shims/bundle exec \ /home/hm/.rbenv/shims/puma \ -C /home/hm/web/yourhm.com.ua/kpsrtf/config/puma.rb [Install] WantedBy=multi-user.target Нужно ли еще что-то добавлять в nginx.conf? или что-то еще забыл?

Alex
13.05.2017
18:48:30
можно еще пропатчить kde2

Denis
13.05.2017
18:51:02
freebsd не использую так что надобности нет

ojab
13.05.2017
19:00:08
Перевел рельсы в продакшен. Создал shared/pids shared/sockets shared/log. Настроил сервер puma. Отредактировал config/puma.rb workers 2 threads 1, 6 app_dir = File.expand_path("../..", __FILE__) shared_dir = "#{app_dir}/shared" rails_env = ENV['RAILS_ENV'] || "production" environment rails_env bind "unix://#{shared_dir}/sockets/puma.sock" stdout_redirect "#{shared_dir}/log/puma.stdout.log", "#{shared_dir}/log/puma.stderr.log", true pidfile "#{shared_dir}/pids/puma.pid" state_path "#{shared_dir}/pids/puma.state" activate_control_app on_worker_boot do require "active_record" ActiveRecord::Base.connection.disconnect! rescue ActiveRecord::ConnectionNotEstablished ActiveRecord::Base.establish_connection(YAML.load_file("#{app_dir}/config/database.yml")[rails_env]) end Создал /etc/nginx/sites-available/hm c содержимым: upstream app { server unix:/home/hm/web/yourhm.com.ua/kpsrtf/shared/sockets/puma.sock fail_timeout=0; } server { listen 80; server_name localhost; root /home/hm/web/yourhm.com.ua/kpsrtf/public; try_files $uri/index.html $uri @app; location @app { proxy_pass http://app; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; } Создал сервис запуска /etc/systemd/system/puma.service [Unit] Description=Puma application server After=network.target [Service] WorkingDirectory=/home/hm/web/yourhm.com.ua/kpsrtf #Environment=RAILS_ENV=production User=rails PIDFile=/home/hm/web/yourhm.com.ua/kpsrtf/shared/pids/puma.pid ExecStart=/home/hm/.rbenv/shims/bundle exec \ /home/hm/.rbenv/shims/puma \ -C /home/hm/web/yourhm.com.ua/kpsrtf/config/puma.rb [Install] WantedBy=multi-user.target Нужно ли еще что-то добавлять в nginx.conf? или что-то еще забыл?
такое длинное в gist

тем более что с форматированием от телеграма вряд ли кто-то это будет читать

(gist умеет несколько файлов показывать и форматировать)

Denis
13.05.2017
19:02:24
Сейчас тогда

ojab
13.05.2017
19:03:52
статика как отдаётся?

Denis
13.05.2017
19:05:25
https://gist.github.com/denisoster/9ff886db16677446a4543b3340b7242f

ojab
13.05.2017
19:08:56
stdout_redirect зачем, если это под systemd работает?

Denis
13.05.2017
19:09:44
Или возможно /etc/nginx/sites-available/hm нужно переместить в /home/hm/conf/web/nginx.conf -?

ojab эта строка не нужна?

ojab
13.05.2017
19:10:50
не знаю, мне непонятно зачем она там

статика как отдаётся?

Google
Denis
13.05.2017
19:11:18
в доке DO она была

Как отдается не знаю...

В доках что читал о подобном ни слова

ojab
13.05.2017
19:14:41
деплоится это в итоге через capistrano?

Admin
ERROR: S client not available

Denis
13.05.2017
19:14:54
При созаднии домена через vestaсp создается /home/hm/conf/web/nginx.conf поэтому и подумал что можно так

Нет сам деплою

ojab
13.05.2017
19:15:27
тогда удачи, вряд ли кто-то будет разбираться с твоей системой деплоя и с тем куда что кладётся.

Denis
13.05.2017
19:15:49
когда запускаю через RAILS_ENV=production rails server —binding=yourhm.com.ua сайт доступен

правда с портом

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-puma-and-nginx-on-ubuntu-14-04

тут не используется capistrano

ojab
13.05.2017
19:20:21
capistrano — стандартная система деплоя рельсовых приложений, её использует подавляющее большинство пишуших рельсовые приложения и люди знают куда что она кладёт. С твоим способом деплоя как минимум ассеты (scss и иже) не прекомпилируются и работать это в общем случае не будет.

так что сначала нужно фиксить не nginx/systemd/whatever, а деплой

Denis
13.05.2017
19:21:51
разве ассеты в продакшене не берутся с public?

Artur
13.05.2017
19:30:30
разве ассеты в продакшене не берутся с public?
берутся, но как они там появляются?

Denis
13.05.2017
19:31:05
Ну так RAILS_ENV=production rake assets:precompile

Artur
13.05.2017
19:34:23
а, ну вот речь как раз о том, что при деплое капистраной ты делаешь меньше действий руками

то есть просто пишешь у себя cap production deploy

и все

Google
Denis
13.05.2017
19:35:26
Мне и самому это сделать не сложно на самом деле. Может я еще не понял всех ее прелистей. Ибо мало занимаюсь руби а деплоем то вообще первый раз.

Artur
13.05.2017
19:36:50
Мне и самому это сделать не сложно на самом деле. Может я еще не понял всех ее прелистей. Ибо мало занимаюсь руби а деплоем то вообще первый раз.
ну тут не о прелестях или сложностях речь, а о том, что чем меньше ты делаешь руками, тем меньше ошибок допускаешь. Автоматизация деплоя как один из дополнительных помощников, который в случае каких-то проблем сдалает роллбэк миграций, откатит изменения и скажет тебе об этом

а при деплое руками, например, у тебя может закончиться место на диске, какая-то хуйня с миграциями может произойти, ну разные бывают случаи и тогда ты соснешь :(

Denis
13.05.2017
19:39:16
Ну как говорил выше именно это преложенеи на сервере в продакшене работает отлично. дело сейчас в настиройки nginx



Mark
14.05.2017
07:10:07
Логи смотри

Denis
14.05.2017
07:55:21
В журнале тоже самое что и на скрине

Mark
14.05.2017
08:41:04
в PATH_TO_APP/log/production.log ?

Denis
14.05.2017
08:55:47
@mvfrost log чистый

olga
14.05.2017
08:57:20
#работа ищу developer в Gett (global team) с опытом RoR от 2-х лет. Также в работе используют JS, Go, MySQL, Postgresql, Redis, Git, MongoDB, Sphinx...Работа в офисе, график гибкий. Зарплата обсуждается 150-300т.р. Заниматься беспилотниками. Команда сильная. Задачи интересные. Пишите, звоните o_yaskevich@onlinepersonal.ru., +79166160600

v
14.05.2017
09:01:29
в PATH_TO_APP/log/production.log ?
там нет ничего

такое чуйство, что в гетте разработчиков на колбасу пускают

слышно что-нибудь про тех, кто туда устроился?

Klim
14.05.2017
09:03:31
Так софт же для беспилотников. Там NDA, АНБ, ФБР все дела.

olga
14.05.2017
10:05:42
в Гетт мы устроили пока одного только. В глобальную команду. Там еще есть локальная команда. Он доволен.

Страница 1008 из 1684