@proRuby

Страница 445 из 1594
Lupsick
15.02.2017
22:26:27
def self.publish(message, type) x = channel.direct(@@queue_name, auto_delete: true) q = channel.queue(@@queue_name, durable: true, auto_delete: false) q.bind(x) x.publish({name: @@task_name, type: type, data: message}.to_json, persistent: true) channel.close connection.close end def self.channel @channel ||= connection.create_channel end def self.connection @conn ||= Bunny.new(Rails.configuration.rabbitmq['amqp']).tap { |c| c.start } end
class Publisher extend self def publish(queue, message) q = channel.queue(queue, :durable => true) q.publish(message) end def channel @channel ||= connection.create_channel end def connection @connection = Bunny.new :host => ENV['RABBITMQ_HOST'], :user => ENV['RABBITMQ_DEFAULT_USER'], :password => ENV['RABBITMQ_DEFAULT_PASS'] @connection.start end end

Alan
15.02.2017
22:26:49
Lupsick
15.02.2017
22:27:06
> x = channel.direct(@@queue_name, auto_delete: true) вот это вообще какая-то дичь

Google
Alexander
15.02.2017
22:27:21
т.е. вместо rails console - bundle exec rails console
да, там ещё может быть другая обёртка, например тот же filewatcher, или rvm какой-нибудь, и начинаются пляски с командами и кавычками

?
ну почитай что такое event-loop, event-machine

это некое решение очереди в синхронном выполнении кода

Alan
15.02.2017
22:27:52
Я имел ввиду что там нет многопоточности и соответственно нет event-loop

Alexander
15.02.2017
22:28:06
Alan
15.02.2017
22:28:18
блин так асинхронность работает из очередей- вот я нубас....

я думал там многопоточность реализована....

Alexander
15.02.2017
22:31:32
блин так асинхронность работает из очередей- вот я нубас....
ну она может быть разными способами реализована

Alan
15.02.2017
22:31:48
Lupsick
15.02.2017
22:31:56
event-loop не связано с очередями по сути

Alexander
15.02.2017
22:32:04
многопоточность по сути влияет на то, может ли у тебя разные участки кода разными ядрами процессора обрабатываться в один момент времени, или нет

event-loop не связано с очередями по сути
а что же это? разве не ждёт одно исполнение другого при нём?

Google
Alexander
15.02.2017
22:32:54
там хэши
что подразумеваешь под хэшами?

много значений просто, даже в том же руби

Alan
15.02.2017
22:33:02
Lupsick
15.02.2017
22:33:03
словарь

Alexander
15.02.2017
22:33:20
словарь
и как он влияет на два параллельных запроса, например?

Alexander
15.02.2017
22:33:51
минуточку - для mri это вообще не актуально. нет для одно запущенного .rb нескольких ядер в MRI
ну да. Threads есть, а все они ждут друг друга и исполняются одним ядром

никак
ну тогда… что-то где-то не то

Lupsick
15.02.2017
22:34:05
по идее в каждом процессе свой event-loop

Alexander
15.02.2017
22:34:12
Lupsick
15.02.2017
22:34:19
один event-loop тогда лол

Alexander
15.02.2017
22:34:37
один event-loop тогда лол
и может одна петля втиснуться в выполнение другой?

при паузе, например

Lupsick
15.02.2017
22:34:45
сомневаюсь

они же параллельные

Alan
15.02.2017
22:35:02
для руби

Google
Alan
15.02.2017
22:35:57
и может одна петля втиснуться в выполнение другой?
Может - если петля из другого процесса.

вот это уже будет многопоточность

Alexander
15.02.2017
22:36:48
ну так это и есть многопоточность
ну да, но с GIL. одно ядро проца только

Alan
15.02.2017
22:36:55
но и очереди в потоках две и свои.

Alexander
15.02.2017
22:37:04
а одно ядро проца не сможет выполнять две команды в один момент времени

Alan
15.02.2017
22:37:13
ну да, но с GIL. одно ядро проца только
именно) зато есть некий thread safe

Alexander
15.02.2017
22:37:14
а два ядра — смогут. и это уже труъ-многопоточность

именно) зато есть некий thread safe
ну да, тут плюсы и минусы

Alan
15.02.2017
22:37:41
получается та либа реализована по event-loop модели?

Alexander
15.02.2017
22:45:14
получается та либа реализована по event-loop модели?
какая "та"? а, бот не знаю, предположение. посмотри исходники

Alan
15.02.2017
22:47:03
Ага, уже)

Alexander
15.02.2017
22:49:08
там блок кода (прок) выполняется почти реал-тайм если несколько сообщений было в оффлайне — то несколько раз вряд ли параллельно, конечно, но какой-то механизм тип event-loop, long poll (вряд ли) или thread есть

хотя может и long-poll, чёрт его знает. но это некий размазанный по сети event-loop

вк просто на long-poll работает, телеграм уж не помню, но любая реализация (хоть через сокеты) выглядит очень похоже, просто на более высоком или низком уровне (http или своё на tcp)

@Duiesel ну вот, ты хоть и новичок, но быстро рубишь, хорошие вопросы задаёшь, исходники смотришь. приятно общаться.

Dmitriy
16.02.2017
09:41:12
есть у кого решение вложенных ктаегорий?

категории внутри категорий

Google
Dima
16.02.2017
09:42:29
это то понятно) но и мне тестирование не очень по душе
Смотря как подойти к работе. Можно быстро вырасти в управленца и получать больше разрабов

Dmitriy
16.02.2017
09:49:07
@AlexWayfer если подсказать нечего, просьба не реагировать

Alexander
16.02.2017
09:50:04
@AlexWayfer если подсказать нечего, просьба не реагировать
если не гуглилось — просьба не писать в чат)

Dmitriy
16.02.2017
09:50:16
в том то и дело, гуглилось

Dmitriy
16.02.2017
09:50:49
обратиться сюда, последнее дело

Ilya
16.02.2017
09:51:26
google: jquery nested categories

тадааам

Admin
ERROR: S client not available

Dmitriy
16.02.2017
09:51:48
мне интересно, как реализовать это в модели

Ilya
16.02.2017
09:51:49
155 000 результатов

Alexander
16.02.2017
09:51:54
google: jquery nested categories
можно менять jquery на нужную технологию (activerecord, sequel, etc)

в том то и дело, гуглилось
попробуй лучше) не думай, что ты первый задаёшься этим вопросом

Ilya
16.02.2017
09:52:42
мне интересно, как реализовать это в модели
просто создаешь поле в категории

parent_id

и ассоциацию пилишь

Alexander
16.02.2017
09:53:07
гуглить на русском или в яндексе точно не советую, это не очень подходит для айти-вещей

Dmitriy
16.02.2017
09:53:10
хм, надо попробовать, сейчас попробую

Ilya
16.02.2017
09:56:48
блять, такое чувство, что я на другой планете живу

https://github.com/collectiveidea/awesome_nested_set

Google
Ilya
16.02.2017
09:57:06
сука, есть ГЕМ, мать его

я гуглил

я гуглил

Dmitriy
16.02.2017
09:57:34
я пробовал этот гем

тут же в чате

мне его не советовали

I
16.02.2017
09:57:51
а что еще ты пробовал?

Dmitriy
16.02.2017
09:58:21
пробую теперь вариант с parent_id

kolas
16.02.2017
09:59:02
https://github.com/mceachen/closure_tree

Dmitriy
16.02.2017
10:00:17
@kolaz спасибо!

Ilya
16.02.2017
10:01:20
https://github.com/stefankroes/ancestry

Alexander
16.02.2017
10:01:47
Ilya
16.02.2017
10:02:02
http://railscasts.com/episodes/262-trees-with-ancestry?autoplay=true

Evgeny
16.02.2017
10:06:16
я пробовал этот гем
А чем не подошел?

Ivan
16.02.2017
11:17:27
Кто работал в реальных проектах с rabbitmq?

Evgeniy
16.02.2017
11:48:45
Ivan
16.02.2017
11:53:22
Ошибки: cannot use a channel that was already closed! Channel id: 1 не возникало?

время от времени возникает, не пойму причину

т.е. когда-то я спокойно 10 сообщений могу отправить, а когда-то на 3ем возникает, когда-то на втором..

Dima
17.02.2017
06:38:54
Коллеги, я так понял bundler для разворачивания песочницы.
На системе 5 разновидностей гема: gem list ^rails$ выхлоп: rails (5.0.1, 5.0.0, 4.2.6, 4.2.3) в приложении нужно использовать какой-то опредленный пусть будет 4.2.6 Для этого используется bundler чтоб в файле Gemfile однозначно указать какие гемы будут исполззованы в для запуска данного скрипта. bundler exec ruby filename.rb запускает filename.rb с использованием тех гемов которые указанны в Gemfile

Страница 445 из 1594