Описание тега celluloid

Фреймворк параллельных объектов на основе акторов для Ruby
2 ответа

Как решить проблему с потоками в ZeroMQ + Ruby?

Наткнуться на чтение ZeroMQ FAQ о безопасности потоков. Моя многопоточная программа продолжает зависать в странных местах внутри библиотеки ZeroMQ. Что я делаю неправильно? Розетки ZeroMQ не являются поточно-ориентированными. Это подробно описано в …
04 авг '16 в 17:15
1 ответ

Celluloid:: Сбой уведомлений после демонизации приложения

Я использую Celluloid:: Уведомления публикации / подписки, чтобы общаться между двумя участниками. Все работает нормально, когда приложение работает нормально, но когда я пытаюсь запустить его в фоновом режиме, подписчик не получает уведомление. Я и…
07 апр '15 в 12:52
1 ответ

Правильный способ поддерживать много связей с целлулоидом?

В настоящее время я работаю над приложением, которое извлекает почту из многих почтовых ящиков IMAP. Похоже, что Целлулоид не подходит для этой роли, но я не уверен, как нанять актеров. Приложение будет работать в распределенном режиме. Есть x почто…
05 дек '13 в 15:57
1 ответ

Целесообразно ли использовать Celluloid/Sidekiq & Rails 3.2 с MRI Ruby и приложением, ранее не предназначенным для обеспечения безопасности потоков?

У меня есть большой проект, работающий на MRI Ruby и Rails 3.2 для Passenger, с приложением, которое не было разработано с учетом безопасности потоков, и это приложение обрабатывает почтовые сообщения через DelayedJob, и база данных платит за это вы…
1 ответ

Задержка с целлулоидом ZMQ вызывает проблемы с данными

Пример кода, чтобы объяснить мою проблему. отправитель Отправитель, который отправляет запрос на Сервер (через ZMQ) в формате ["sender-1", "sender-1-bdc1c14624076b691b8d9e15fbd754f1"] .. ["sender-99","sender-99-a2123d02c2989ef57da370bb13ba60e4"] сер…
04 мар '16 в 16:17
0 ответов

Проблема с Далли не работает, как ожидалось?

У меня есть простое приложение rails, и я пытаюсь сохранить и извлечь ключи из окна memcache, которое работало долгое время, пока мы не столкнулись с ошибкой, описанной ниже, я попытался отладить это, но сейчас мне нужен кто-то, чтобы помочь [2015-1…
1 ответ

Целлулоидные фьючерсы не быстрее, чем синхронные вычисления?

Я пытаюсь использовать Celluloid для асинхронной обработки некоторых данных.csv. Я читал, что использование фьючерсов позволяет дождаться завершения пула актеров, прежде чем завершится основной поток. Я посмотрел на несколько примеров, которые демон…
13 окт '15 в 11:30
2 ответа

Рубиновый целлулоид и потребление ресурсов

Я новичок в Celluloid и у меня есть несколько вопросов о пулах и фьючерсах. Я создаю простой веб-сканер (см. Пример внизу). Мой URL-массив насчитывает десятки тысяч URL-адресов, поэтому пример сократился до нескольких сотен. То, что я сейчас хочу сд…
09 сен '12 в 13:42
1 ответ

Изменить размер пула в SupervisionGroup

Могу ли я изменить размер пула в контрольной группе целлулоидов? Например, у меня есть работник: class Worker include Celluloid def do puts self.inspect end end И тогда я обеспечу 3 рабочих в контрольной группе: supervisor = Celluloid::SupervisionGr…
15 окт '14 в 10:13
1 ответ

Целлулоидный актер - как уничтожить всех актеров с помощью Celluloid.shutdown_timeout при использовании фьючерсов

require 'celluloid/current' Celluloid.shutdown_timeout = 1 class Mapper include Celluloid attr_accessor :value def run(num) @value = num.times.map { |idx| idx } end end y = Mapper.spawn y.future.run(1000000) До сих пор, кажется, работает, и актеры о…
29 мар '16 в 03:07
0 ответов

Ruby: отправка строки через TCP-сокет

Я довольно новичок в Ruby, решив попробовать свои силы с другим языком программирования. Я пытался разобраться с розетками, это область, с которой я не слишком знаком в целом. Я создал базовую "игру", которая позволяет игроку перемещать свою иконку …
15 июл '18 в 10:13
1 ответ

Доступ к почтовому ящику для актера, инициализированного через пул в Celluloid

В моем приложении 2 актера. Сервис и PushSocket. Я использую почтовый ящик для связи между двумя участниками Service и PushSocket. Это хорошо работает, когда я просто создаю один экземпляр в PushSocket и добавляю сообщение в его почтовый ящик. **Fil…
14 мар '16 в 07:50
1 ответ

Подход к тестированию целлулоидного кода

Я потратил некоторое время на поиски предмета, но мне это не удалось. Может кто-нибудь поделиться какой-либо из следующих? Пример любой асинхронной вещи* с тестовым кодом, написанным с Celluloid Статья или даже небольшая статья о тестировании асинхр…
18 янв '16 в 08:17
1 ответ

Как я могу сообщить Celluliod:: Актер освоенного Celluloid::Pool актер умер?

Я получил тестовый пример. Здесь MyBoss должен выполнить тяжелую, но гранулированную работу, несмотря на то, что некоторые его работники должны умереть. require 'celluloid' require 'celluloid/autostart' class MyActor include Celluloid attr_reader :n…
09 июл '15 в 18:07
2 ответа

Сокращения в Ruby, Artoo.io

Я ищу объяснение того, что происходит на вершине роботов artoo.io. Вверху этого примера есть объявление с использованием драйвера клавиатуры: require 'artoo' connection :keyboard, adaptor: :keyboard device :keyboard, driver: :keyboard, connection: :…
03 июн '14 в 15:11
0 ответов

Celluloid и ThreadError: невозможно создать поток: ресурс временно недоступен

Я работаю с несколькими рабочими, которые работают с Celluloid, используя в основном асинхронную работу. Некоторые части моего кода используют также в будущем или после. Все работает действительно хорошо и быстро, но в итоге система начинает поднима…
29 дек '16 в 16:55
3 ответа

Почему Sidekiq не закрывает старые связи?

Приложение My Rails 4.1 использует Sidekiq для запуска измерений в актерах целлулоида. У него постоянно заканчиваются соединения с базой данных. Похоже, что Sidekiq открывает 2 соединения на задание, и старые соединения никогда не закрываются должны…
1 ответ

Неблокирующий подпроцесс с целлулоидом

Каков наилучший способ порождения подпроцесса без блокировки актера? Моя цель - запустить несколько команд, и когда они будут выполнены, получить выходные данные и код выхода. Я попробовал это, но, очевидно, блокирует вызов popen: #!/usr/bin/env rub…
01 дек '15 в 11:28
2 ответа

Неверное количество аргументов при запуске компаса

Когда я запускаю "Compass Watch", я получаю эту ошибку: LoadError on line ["54"] of /usr/local/lib/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb: cannot load such file -- susy Run with --trace to see the full backtrace Мне удалось это исправит…
1 ответ

Использование redis в поточной установке jruby

Так что гем redis должен быть потокобезопасным, это хорошо. Но мне интересно, как мне нужно это настроить. Я использую jRuby и Celluloid (используя волокна по умолчанию). Теперь я использую его, у меня есть глобальный метод: def redis @_redis ||= Re…
20 июн '13 в 11:00