
Sergey
05.02.2018
13:05:54
кнопочкой
ок, спасиб, а если не для дебага

Vasiliy
05.02.2018
13:07:30
а если не для дебага - ты делаешь что-то не то

Rustam
05.02.2018
13:08:09
Попробуй
sleep Random.srand

Google

Vasiliy
05.02.2018
13:08:36
если тебе надо данные сравнивать то доставай из БД/клади в БД
ему надо, как я понял доступ получить к данным в момент остановки, т.е. прервать цикл выполнения программы, а слип просто залочит процесс и всё

Sergey
05.02.2018
13:10:22
заблочит, а как обратно, сверять не мне, это для тех кто пользоваться будет

Vasiliy
05.02.2018
13:11:25
ты можешь пример привести как это выглядит работает?

Sergey
05.02.2018
13:13:52
экшн, в нем цикл, потом все в гугл таблицу сохраняется, можно цикл на неопределенное время остановить и проверять допустим в 5 минут изменилась переменная или нет?

Roman
05.02.2018
13:18:03

Vasiliy
05.02.2018
13:21:37
я тебя расстрою - веб немного не так работает

kolas
05.02.2018
13:21:58
на клиенте сделай цикл и останавливай сколько угодно

Vasiliy
05.02.2018
13:22:40
ты можешь писать данные в бд и например помечать их не проверенными, как только юзер пометит их валидными тогда писать в БД

Sergey
05.02.2018
13:23:37
решил без бд пока, чисто в таблицу, сделаю проверку кнопки, если не активна то слип 5 минут, потом снова

kolas
05.02.2018
13:24:02
какой слип кнопки?
если не на клиенте, то тебе надо в бэкграунде процесс повесить который считать будет и как-то по реквестам обращаться к нему и данные брать

Sergey
05.02.2018
13:35:53
с моим вариантом аякс придется прикручивать, похоже проще всего последнее состояние в бд сохранить, а потом оттуда
с другим процессом неочень понял)

Google

Vasiliy
05.02.2018
13:39:31
ты если слип сделаешь, то у тебя поток залочен будет и (вроде бы) когда потоки кончатся то приложение будет недоступно

kolas
05.02.2018
13:41:51
ну тебе в любом случае надо бэкграунд воркер делать для такой долгой операции
и ты сможешь общаться с воркером из процесса веб-сервера каким-нибудь образом
может через очередь или бд, не знаю как с прямым общением по сокетам

Sergey
05.02.2018
13:43:54
интересно, попробую сделать, а пока сделаю проактивную паузу через столько то минут или значений

Vasiliy
05.02.2018
13:45:01
слипом?

Sergey
05.02.2018
13:46:16
не, просто задам через вид, с аяксом много заморочек, долго тестировать, хотя где-то и было готовое решение

Roman
05.02.2018
13:46:47

Sergey
05.02.2018
13:47:42
это такая иллюзия контроля)
да, клиент хочет удостоверить, что все работает как надо

kolas
05.02.2018
13:49:10
ты какое-то говно хочешь изобрести кажется, не понял как оно работать будет ?

Sergey
05.02.2018
13:50:18
задал столько-то записей получить или столько то времени парсить, удобно
вместо паузы в общем

Dmitriy
05.02.2018
14:54:35
странное поведение:
def change_text(text)
text.sub!('prefix_', '')
end
a = 'prefix_test'
b = a
change_text(b)
p a # => "test"
p b # => "test"
т.е. sub! действует как работа с указателем. Но почему меняется a?
b = a разве не инициализирует новую переменную, хранящейся в отдельном адресе памяти?
и вообще удивлен, что в руби есть поведение как при работе с указателями

rekero
05.02.2018
14:59:21
в b = a будут одинаковые поинтеры

Vasiliy
05.02.2018
15:00:08
разве не всё кроме чисел по ссылке передаётся?

rekero
05.02.2018
15:00:17
ага
еще бул и нил вроде

Google

Dmitriy
05.02.2018
15:04:14
если все передается по ссылке, то почему тогда в этом примере:
def change_text(text)
text = 'aaa'
end
a = 'test'
b = a
change_text(b)
p a # => "test"
p b # => "test"
переданная переменная не поменялась в 'aaa' ?

Denis
05.02.2018
15:06:29
потому что область видимости своя в методе?

Dmitriy
05.02.2018
15:07:09
если область видимости своя, почему тогда метод sub! все поменял?

Vasiliy
05.02.2018
15:07:35
методы с ! меняют непосредственно значение

Denis
05.02.2018
15:08:02
новое значение кладешь в переменную во втором случае
про области не к месту я сказал

Dmitriy
05.02.2018
15:09:02
век живи век учись короче ))
спасибо за разъяснения

Sergey
05.02.2018
15:38:58
а можно вид обновлять во время выполнения процесса?

Roman
05.02.2018
15:43:27
а можно вид обновлять во время выполнения процесса?
вид обновляется после завершения запроса, либо по веб сокетам, но это вряд ли то, что тебе нужно. Если я правильно понял твою задачу, то тебе нужно 2 запроса: в первом ты запускашь бэкграунд процесс, а во втором находишь этот процесс и останавливаешь его

Sergey
05.02.2018
15:46:28
да, так и есть, но вот индикация чтобы знать когда останавливать не помешает
т.е. передать переменую в вид и обновить страницу, js remote можно так сделать?

Roman
05.02.2018
15:47:47
сервер с клиентом может общаться только по веб-сокету, можно делать непрерывные ajax запросы, но это уже костыль

Aleksey
05.02.2018
16:22:12
Есть сайт новостей. 2 редактора редактируют одну и ту же новость. Как избежать перезатирания и сохранения всех изменений? Подскажите плиз, какие есть варианты ?

Sergey
05.02.2018
16:28:23
сделать архив новостей
не смог найти как убить определенный процесс в фоне
а турболинкс может обращаться к такому процессу?

Aleksey
05.02.2018
17:07:52
а чем поможет архив новостей при одновременном обращении на редактирования одной и той же новости ?

Andrey
05.02.2018
17:11:15
Алексей, нет полностью номальных вариантов, надо просто не давать редакторам так делать.
Ну или реальзовывать полноценное многопользовательское редактирование через сокеты как в google docs

Roman
05.02.2018
17:15:31

Google

Sergey
05.02.2018
17:24:13
архив - в плане несколько версий статьи будет, все равно же редактировать потом придется если одновременно вносят изменения
есть еще вариант разбить на мелкие куски - параграфы и их уже не давать редактировать одновременно

Roman
05.02.2018
17:33:53
еще вариант держать что-то типа ключа изменений и менять его. тогда второму редактору придет ошибка

Admin
ERROR: S client not available

Roman
05.02.2018
17:34:20
но надо будет все равно разруливать слияние
а не так чтобы у второго все пропало и набирай заново

Sergey
05.02.2018
17:35:55
есть у меня код с background do
кто знает что это за гем?
в вордпрессе по-моему статус пишется - редактируется кем-то

Roman
05.02.2018
19:21:12

Sergey
05.02.2018
22:55:19
def background(&block)
Thread.new do
yield
ActiveRecord::Base.connection.close
end
end
нашел, поток там новый

Alexander
06.02.2018
07:46:58

Vasiliy
06.02.2018
08:27:26
да блин у него простая задача распарсить сайт, дать менеджеру на проверку и если всё ок, ток сохранить данные
ну или там в гугл таблицы кинуть

Slava
06.02.2018
10:02:31


Valentina
06.02.2018
10:02:35
Гайз, всем доброго дня! Я к вам с вакансией. У нас открылась вакансия Ruby разработчика (миддл, но рассматриваем и продвинутых джунов). Компания занимается заказной разработкой больших высоконагруженных систем. Проект над которым в основном нужно будет трудиться - логистическая платформа для грузоперевозок. Задачи решаем нетривильные, скучно не будет.
✔️Город: #Москва, Воробьевы Горы/Ленинский проспект (в мае переедем на Савеловскую)
✔️Формат работы: #Офис
✔️Занятость: #fulltime, гибкое начало рабочего дня (с 10 или 11 часов утра).
✔️Зарплата: от 80 000 до 120 000 российских рублей на руки, по результатам интервью, вилка двигается в большую сторону, смотря какая квалификация.
✔️Стек: Ruby, Rails 5, Postgres, RSpec, Capybara, Git, JS, AciveRecord, Datamapper, Sidekiq, capistrano, Docker
#вакансия #job
Пруф: https://hh.ru/vacancy/24070010
Контакт - @tivalkin


ojab
06.02.2018
10:04:34
Гайз, всем доброго дня! Я к вам с вакансией. У нас открылась вакансия Ruby разработчика (миддл, но рассматриваем и продвинутых джунов). Компания занимается заказной разработкой больших высоконагруженных систем. Проект над которым в основном нужно будет трудиться - логистическая платформа для грузоперевозок. Задачи решаем нетривильные, скучно не будет.
✔️Город: #Москва, Воробьевы Горы/Ленинский проспект (в мае переедем на Савеловскую)
✔️Формат работы: #Офис
✔️Занятость: #fulltime, гибкое начало рабочего дня (с 10 или 11 часов утра).
✔️Зарплата: от 80 000 до 120 000 российских рублей на руки, по результатам интервью, вилка двигается в большую сторону, смотря какая квалификация.
✔️Стек: Ruby, Rails 5, Postgres, RSpec, Capybara, Git, JS, AciveRecord, Datamapper, Sidekiq, capistrano, Docker
#вакансия #job
Пруф: https://hh.ru/vacancy/24070010
Контакт - @tivalkin
А зачем вам ActiveRecord и Datamapper одновременно?

Roman
06.02.2018
10:04:51

Anton
06.02.2018
10:05:46
один собирает, второй деливерит

Roman
06.02.2018
10:06:56
ну а может у них там микросервисы? в одном маппер, в другом АР

Google

Slava
06.02.2018
10:07:04
@TiValkin с этим лучше не сюда, а в https://t.me/rubyjob и в https://t.me/belit_jobs можете закинуть

Valentina
06.02.2018
10:07:19

Lupsick
06.02.2018
11:31:00
посоны есть сложная задачка
есть хэш вида
{
{date: 2018-01-01'} => {
{ key3: nil, key4: 444' } => 1,
{ key5: nil, key4: 444' } => 2
},
{date: '2018-01-02''} => {
{ key3: nil, key4: 444' } => 4,
{ key5: nil, key4: 444' } => 45
},
}
нужно его отсортировать по массиву [{ id: 'date', desc: true }] например
date может быть и ключом хэша и ключом хэша значений

Andrey ?
06.02.2018
11:35:19
Оно, случаем, не из БД таким возвращается?

Lupsick
06.02.2018
11:35:39
это pivot table

kolas
06.02.2018
11:46:25
а чо сложного? превращай в массив и сортируй через блок

Максим
06.02.2018
11:48:48
ребзи
а как сделать чтоб наследуемющий класс у себя тоже генерировал методы которые гененрирует отцовский?