
Dmitriy
01.08.2016
18:57:38
http://rubybookclub.com/episodes/2016/7/31/99-bottles-ep-1-preface-11-intro

Amir
02.08.2016
06:35:16
Rails 5.0.0
Rybt 2.3.1
новая приложение созданные rails new myapp
перестал даже запускаться
выдает кучу ошибок
вроде все правильно установил RVM

Mark
02.08.2016
06:35:52
какого плана ошибки?

Amir
02.08.2016
06:35:54
config/application.rb:7:in `<top (required)>'
например

Google

Amir
02.08.2016
06:36:21
я ничего не меняю, просто создаю новое приложение
/home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:89:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)

Nick
02.08.2016
06:37:15
Гемсет правильный? Бандлер все пакеты установил?

Amir
02.08.2016
06:37:55
все с нуля установил
rvm
rvm install ruby
gem install rails
gem install bundler

Mark
02.08.2016
06:38:14
bundle install делал в проекте?

Amir
02.08.2016
06:38:25
ага пробовал
может ruby 2.3.1 глючный?

Mark
02.08.2016
06:38:55
нет
у меня все работает

Amir
02.08.2016
06:38:58
недавно вроде 2.3.0 был

Mark
02.08.2016
06:39:49
там же stable версия 2.3.1
так что все норм должно быть

Google

Mark
02.08.2016
06:40:00
)


Amir
02.08.2016
06:41:07
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Bundler Error Backtrace:
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:85:in `block (2 levels) in require'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `each'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `block in require'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `each'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `require'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/bundler-1.12.5/lib/bundler.rb:102:in `require'
from /home/pavel/www/election/config/application.rb:7:in `<top (required)>'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:88:in `require'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:88:in `block in server'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:85:in `tap'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:85:in `server'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.0/lib/rails/commands.rb:18:in `<top (required)>'
from /home/pavel/www/election/bin/rails:9:in `require'
from /home/pavel/www/election/bin/rails:9:in `<top (required)>'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `load'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `call'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/client/command.rb:7:in `call'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/client.rb:30:in `run'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/bin/spring:49:in `<top (required)>'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `load'
from /home/pavel/.rvm/gems/ruby-2.3.1/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/pavel/www/election/bin/spring:13:in `require'
from /home/pavel/www/election/bin/spring:13:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'


ojab
02.08.2016
06:41:36
такие сообщения лучше в gist кидать

Amir
02.08.2016
06:41:44
Rails 5 сейчас стабильная же версия?

ojab
02.08.2016
06:41:58
bundle check что говорит?

Mark
02.08.2016
06:42:18
да

Amir
02.08.2016
06:42:29
недавно баг был, сейчас исправили, там надо было в новом проекте менять версию гема, не помню какого, может здесь тоже самое?
The Gemfile's dependencies are satisfied

ojab
02.08.2016
06:43:13
rails запускаешь как bundle exec rails?
если нет — попробуй bundle exec rails.

Amir
02.08.2016
06:43:46
так тоже не запускает, тоже самое
vim-nox устанавливает зависимости руби, но так тоже было раньше и он не мешал
вроде бы

ojab
02.08.2016
06:45:49
кинь бектрейс после bundle exec rails в gist?

Amir
02.08.2016
06:58:01
https://gist.github.com/anonymous/f9f70b330d2639dee8840c0d6fbbc14b

ojab
02.08.2016
06:58:43
ну, собственно, установи js runtime

Amir
02.08.2016
06:59:35
тьфу
забыл :D
Ребята вобще нужно сделать такую вещь
Будет две программки, серверная часть и клиентская часть на андойде
у серверной части будет еще веб морда
сервер должен уметь выдавать данные по json к мобильному клиенту, мобильный клиент тоже отправляет данные обратно к серверу
сервер на веб морде показывает информацию
хоче попробовать сделать это рельцах
я недавно пробовал, RestAPI у рельцов был чем-то защищен, токеном
как это реализовать чтобы мобильный клиент нормально общался с сервером по RestFull?

Google

Vlad
02.08.2016
09:36:09
Хей чат, а существует ли какое-то готовое решение такого:
Нужно раз в n часов запускать некую задачу.
Задача легкая, поэтому не хочеться никаких sidekiq’ов, redis’ов и самое главное – не хочеться держать отдельный запущенный инстанс в памяти чисто для этого. Т.е. чтоб отрабатывало оно внутри инстанса веб-сервера.
Есть ли такой гем?

Константин
02.08.2016
09:36:39
cron

Vlad
02.08.2016
09:36:39
Речь про rails

Константин
02.08.2016
09:36:46
не подойдет?

Vlad
02.08.2016
09:37:31
если ты знаешь способ дергать некий метод внутри рельсов прямо в уже запущенном инстансе, то поделись)

Константин
02.08.2016
09:38:01
а почему обязательно в запущенном?))

Vlad
02.08.2016
09:38:04
все что я знаю, запускает отдельно новое приложение

Денис
02.08.2016
09:38:19
дёргай через api

Vlad
02.08.2016
09:38:38
whenever это обертка для крона, и не подойдет по тем же причинам
через API можно конечно, но по-моему это тоже не ruby-way

Денис
02.08.2016
09:40:35
это как раз ruby way

Денис
02.08.2016
09:40:46
если тебе тот же инстанс нужен

Константин
02.08.2016
09:40:57
http://guides.rubyonrails.org/command_line.html#rails-runner

Vlad
02.08.2016
09:41:04
> а почему обязательно в запущенном?))
в приложении в плохом случае может быть сотни гемов, короче грузиться оно может не очень быстро и занимать довольно много памяти. Какой в этом смысл если надо дернуть метод который отрабатывает за миллисекунду?

Константин
02.08.2016
09:41:04
а это не канает?

ojab
02.08.2016
09:41:05

Vlad
02.08.2016
09:42:10
> это как раз ruby way
а зачем мне это делать через http-запросы, думать о безопасности и аутентификации? Это вообще лишнее тут.
ojab ну он ведь просто рубишный DSL конвертирует в обычный кондовый cron

Google

Константин
02.08.2016
09:44:36
Если я правильно понимаю - тебе нужен еще один процесс
который будет висеть некоторое время, а потом будет вызывать некий метод

Danila
02.08.2016
09:45:49
предложили же отличный вариант в одну строку - через API

Константин
02.08.2016
09:45:57
можно через Parallel сделать, но тогда нафига постоянно иметь такой процесс, он же будет жрать лишнюю память
Апи - самый лучший вариант

Vlad
02.08.2016
09:47:00
@yaBloom как раз мне НЕ нужен новый процесс. Нужно чтоб в существующем выполнялось.

Danila
02.08.2016
09:47:36
ну чувак считает что 1 запрос с аутентификацией это лишнее
и процесс ему не нужен ещё один

Vlad
02.08.2016
09:48:18
за sucker_punch спасибо, похоже именно то что нужно

Admin
ERROR: S client not available

Yuri
02.08.2016
09:51:20
то что нужно? Он же потребует запуск нового ПРОЦЕССА!

ojab
02.08.2016
09:51:34
нет

Vlad
02.08.2016
09:51:51
Sucker Punch is perfect for asynchronous processes like emailing, data crunching, or social platform manipulation. No reason to hold up a user when you can do these things in the background within the same process as your web application...

Yuri
02.08.2016
09:52:17
а процесс самого sucker punch нет?

Константин
02.08.2016
09:52:22
Тогда не понятно, как он реализует отложенный вызов, если нет нового процесса

ojab
02.08.2016
09:52:49
есть такая штука как треды
если вы понимаете, о чём я

Yuri
02.08.2016
09:53:12
то что ты описал это крон чистой воды, зачем тут бэкгрунд джобы?
треды тредами, но главный процесс все равно висит постоянно, нет?

Vlad
02.08.2016
09:53:53
да, кстати, похоже он не умеет раз в сутки запускать задачу

Google

Danila
02.08.2016
09:54:21
кек

ojab
02.08.2016
09:54:59
а что-то мешает сделать в джобе ensure и там шедклить этот таск?

Vlad
02.08.2016
09:55:03
разве что в конце задачи делать вот так: DataJob.perform_in(86400, "asdf")

Константин
02.08.2016
09:55:17

ojab
02.08.2016
09:55:26

Yuri
02.08.2016
09:55:30

Константин
02.08.2016
09:55:33
а что это?

Vlad
02.08.2016
09:56:11
@ryuri «если ты знаешь способ дергать некий метод внутри рельсов прямо в уже запущенном инстансе, то поделись)"

Yuri
02.08.2016
09:56:34

Vlad
02.08.2016
09:57:04
в процессе веб сервера

ojab
02.08.2016
09:57:18
или книжку посоветовать?

Константин
02.08.2016
09:57:33
)) ну серьезно

ojab
02.08.2016
09:57:54
https://en.wikipedia.org/wiki/Thread_(computing)
читайте вот это и спрашивайте, если что непонятно

Константин
02.08.2016
09:58:35
Тогда что такое процесс?))

Vlad
02.08.2016
09:59:03
ojab а как дергать sucker_punch через whenever?

ojab
02.08.2016
09:59:19

Константин
02.08.2016
09:59:26
аа там ниже есть!

ojab
02.08.2016
09:59:52
в initializer'e шедулишь да и всё

Vlad
02.08.2016
10:00:37
не знаю, ты сам написал «whenever + sucker_punch»