Мой вопрос в конечном счете для библиотеки ruby rx, хотя любой пример на любом языке был бы с удовольствием оценен. В основном я хочу запланировать каждую операцию для существующего цикла событий (или пула потоков, если на то пошло). Я думаю, это должно быть сделано планировщиком. Я не нашел ни одного примера планировщика, отправляющего рекурсивные операции в цикл событий, и именно поэтому я спрашиваю. Вот список для рубиновых ого:FRP пример с циклом событий или пулом потоков
https://github.com/ReactiveX/RxRuby/tree/master/lib/rx/concurrency
Почему цикл обработки событий? Поскольку я хочу добавить операции ввода-вывода, которые работают внутри цикла событий и используют параллелизм. Что-то вроде этого:
Rx::Observable.from_enumerable(hosts).
map { |h| HTTP.connect(h) }.
map{|host| host.get("http://myservice/somelist.txt") }.
on_next { |html| parse(html).each_line.....} # you get the idea
Это точно определение планировщика, которого я пропускаю, так как в примерах, которые я вижу, есть много обратных вызовов, которые мне разрешено перезаписывать (#schedule_relative, #schedule_recu rsive, #schedule_recursive_with_state ...), и это те взаимодействия, с которыми я борюсь, чтобы понять. Знаете ли вы примеры доступных (возможно, в C# или JS)? – ChuckE
Я написал кое-что в Schedulers для C# здесь -http: //introtorx.com/Content/v1.0.10621.0/15_SchedulingAndThreading.html. Похоже, что EventLoopScheduler отсутствует в RxRuby. Это может быть возможностью для вас создать PR и внести свой вклад. –
не только, что, как представляется, отсутствует также планировщик потока. посмотрим на это и посмотрим, что я могу придумать. – ChuckE