Please read for an updated status on RailsCasts:
Learn more or hide this
Thank you for this awesome episode.
This has really impressed me and I want to see more of this.
My head is spinning a little... thinking of all the things that could be done with this. Thanks - excellent episode.
I had never seen the $* for creating av array. What is the difference form using ?
When you see any version of "$" it will refer to a global variable in Ruby. The global variable "$*" refers to the command line arguments passed into the program. (In this case the urls of the rss feeds.) It is not the same as simply declaring an array.
All the shell scripts are using "$" as a reference to some vars.
Thank so much Ryan for this and all other episodes!!!! I would like to see more about concurrency! Maybe differences between MRI and JRuby? Threads, forking and so on?
This was awesome celluloid reminds me alot of Erlang
The author wanted to give Ruby some of the features of Erlang. Check out the interview with him on The Changelog where he talks about Celluloid. The Changelog Episode .0.8.1. Great podcast!
Great episode, Ryan! It would be cool to see more on concurrency. :)
This reminds me of Eventmachine. Would Celluloid be something that could replace Eventmachine in the future?
Programming with it seams a lot easier than EM.
evented is not the same as threaded they have differente uses. Evented uses less resources too.
true, good point. Thanks!
Very enlightening stuff on concurrency lately.
Will you cover some of the things that can be done for Rails? Like Rack::FiberPool?
Celluloid is really impressive (configurable concurrency solution) based on what i have seen so far.. a good option for ruby projects.. reducing or zero the learning curve or adoption of the likes of Scala (AKKA) or Erlang etc.. awesome.. soon, gone will be the days when ruby would be mocked for concurrency..
It is awesome, Ryan, I am impressed by celluloid.
Not convinced about this project -- think it would be good for folks that have a lot experience with Threads and like this new nifty syntax. But i think it abstracts a lot of core concepts (Creating Threads, join(), Mutexs, blocking) that people new to concurrency should experience first hand before trying this.
Nice one! Thanks for doing this episode.
Wow - supervisors. There's Erlang in my Ruby! I'd like to learn more about Celluloid.
Indeed, I had flashbacks to my programming languages class. By flashbacks, I mean shots of adrenaline and joy.
Will this work on Heroku? Does this mean I don't need all those Dynos?
Something to keep in mind when trying Celluloid on Heroku is memory usage.
Heroku will restart your processes if they use too much memory, so you'll want to experiment to find the number of threads you can run, that depends on your work load.
I found this when working on heroku with girl_friday. It worked, but it crashed frequently due to memory limits.
"…an example that's a little more practical than launching rockets."
Some would argue there are few things more practical than launching rockets!
Ryan, you may want to mention this bug since you're using IRB to demonstrate celluloid: https://github.com/celluloid/celluloid/issues/22
Were Rocket to have an ivar reference back to Launcher, calling #inspect causes an infinite loop. I thought I just wasn't getting it, but everything works fine when I override #inspect in my actor classes. That's several hours of my life I wish I could have back. =)
How do celluloid actors mix with rails, especially active record?
For concurrent processing check Parallel gem also: https://github.com/grosser/parallel
I just thought it's worth noting that the API has changed and rightly so, since the implementation of asynchronous calls by bang method clashed in projects that have used bang methods heavily .
r.launch! ; r.launch! ; r.launch!
r.async (:launch) ; r.async (:launch); r.async (:launch)
To Tobias point:
For whatever reason the launch! method didn't work for me. I used the syntax I found at https://github.com/celluloid/celluloid/wiki/Basic-usage: r.async.launch
When I tried to use r.launch! I got:
NoMethodError: undefined method `launch!' for #
Yes, this railscast is for Celluloid v0.11.1, the latest version is 0.15.2 where they have changed the way dispatching method calls. It either needs an update or a warning stating the version.
kimia alatalat inginkan solid baja posting besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21485 memang gambar baja low pemotongan radius besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21492
baja umumnya karena benarbenar salah benarbenar besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21496 ketat besi baja sisipan kimia fisik transmisi http://chnm.gmu.edu/cyh/myomeka/posters/show/21497
tingkat besi ibeambaja tiga baja unik transmisi http://chnm.gmu.edu/cyh/myomeka/posters/show/21500 h21 dengan baja berdasarkan lengkunganbaja pipabaja besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21506
besi baja tube hanggar biasanya oksida dijual http://chnm.gmu.edu/cyh/myomeka/posters/show/21510 bahan parkir baja toleransi kerja melalui besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21511
besi baja merah ritel relatif pramengeras kerjabaja http://chnm.gmu.edu/cyh/myomeka/posters/show/21513 permintaan hanya kelembaban density baja dilas besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21517
besi perusahaan populer baja halus resistansi ketebalan http://chnm.gmu.edu/cyh/myomeka/posters/show/21522 diversifikasi baja rating resistansi kecuali meniup besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21523
baja kelimpahan gulungan mandrelbaja db6 disusun besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21525 baja radiusbajathe suhu hidupbaja isles memilih besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21530
besi proses kekuatan baja dibandingkan pasif aplikasi http://chnm.gmu.edu/cyh/myomeka/posters/show/21534 dijualbaja baja setelah gergaji keramik minimal besi http://chnm.gmu.edu/cyh/myomeka/posters/show/21535
besi termal sebagai pengelasanbaja film baja cds http://www.ifesp.edu.br/ead/blog/index.php?entryid=409 baja membuat mati bila akhir Jika besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=414
ke permintaan bertahap unik baja kawat besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=417 besi cairan baja efisien transmisi tikungan interior http://www.ifesp.edu.br/ead/blog/index.php?entryid=418
akhirnya baja hampa berubah saat besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=420 satu pengolahan Indonesian baja pameran sistem besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=424
balokbaja baja kantor disebut diterima digunakan besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=427 dingin digunakan produksibaja baja setelah pertamatama besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=428
besi radius berbentuk meningkatbaja membangun baja proses http://www.ifesp.edu.br/ead/blog/index.php?entryid=430 mandrel baja cocok diproduksi swaging meningkatbaja besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=434
besi baja Pondok terhadap aplikasi merekabaja bawah http://www.ifesp.edu.br/ead/blog/index.php?entryid=437 energi penempatan melihat instinox jarak baja besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=438
ditujukan baja besi tahu resistansi sehubungan mesin http://www.ifesp.edu.br/ead/blog/index.php?entryid=440 kelembaban alatalat besi Kelemahan datarbaja baja dinamai http://www.ifesp.edu.br/ead/blog/index.php?entryid=445
baja membuat satu Jika mungkin permintaan besi http://www.ifesp.edu.br/ead/blog/index.php?entryid=450 pencakar besi baja pesawat tertinggi industri tinggibaja http://www.ifesp.edu.br/ead/blog/index.php?entryid=451
Remember what should be remembered
First sign in through GitHub to post a comment.