Hi!
I am having a hard time solving this issue and I’m sure you guys know
how to treat that very easily!
I’ve got a “bot” on one side which runs :
class Bot
def self.start
loop do
input = gets # Get a user input from STDIN
# do some stuff with the input!
end
end
Bot:start
end
And on the other side, I’ve got a Rails application. I want to “plug”
the bot to this rails application, in such a way that the inputs are
coming from the Rails application, and not from STDIN.
I guess that it doesn’t change anything that my “client” is a rails app,
but I mentionned it in case it’s bad in any way
Also, the
communication is just “one-way”; there is no need for the bot to return
anything to the client!
Any idea on how to solve this?
You’re help would be greatly appreciated!
Julien
Julien Genestoux wrote:
Hi!
I am having a hard time solving this issue and I’m sure you guys know
how to treat that very easily!
I’ve got a “bot” on one side which runs :
…
And on the other side, I’ve got a Rails application. I want to “plug”
the bot to this rails application, in such a way that the inputs are
coming from the Rails application, and not from STDIN.
Have you considered using xml-rpc? Ruby includes a library for that.
It has its pros and cons, but overall it may be good enough.
–
James B.
www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
Hum,
Both applications are on the same machine, so I am not sure I need to go
over the network with XML RPC, I would lose a lot performance wise,
don’t you think?
Initially, I tried with Pipes, but I could not find my way with this…
Thanks for your help, anyway.
Anyone else?
James B. wrote:
Julien Genestoux wrote:
Hi!
I am having a hard time solving this issue and I’m sure you guys know
how to treat that very easily!
I’ve got a “bot” on one side which runs :
…
And on the other side, I’ve got a Rails application. I want to “plug”
the bot to this rails application, in such a way that the inputs are
coming from the Rails application, and not from STDIN.
Have you considered using xml-rpc? Ruby includes a library for that.
It has its pros and cons, but overall it may be good enough.
–
James B.
www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
On Jul 10, 2008, at 3:52 PM, Julien Genestoux wrote:
And on the other side, I’ve got a Rails application. I want to “plug”
the bot to this rails application, in such a way that the inputs are
coming from the Rails application, and not from STDIN.
bot = IO.popen ‘bot.rb’, ‘r+’
bot.puts ‘some command’
bot.flush
a @ http://codeforpeople.com/
On Jul 10, 2008, at 14:52 PM, Julien Genestoux wrote:
# do some stuff with the input!
I guess that it doesn’t change anything that my “client” is a rails
app,
but I mentionned it in case it’s bad in any way
Also, the
communication is just “one-way”; there is no need for the bot to
return
anything to the client!
Any idea on how to solve this?
The RailsRemoteControl gem may be a good start.
Correct me if I’m wrong, but popen will “fork” the current process and
run bot.rb in the child.
Actually, here, the bot is already “running” and doing some “other
stuff” that do not require inputs!
Thanks anyway!
ara.t.howard wrote:
On Jul 10, 2008, at 3:52 PM, Julien Genestoux wrote:
And on the other side, I’ve got a Rails application. I want to “plug”
the bot to this rails application, in such a way that the inputs are
coming from the Rails application, and not from STDIN.
bot = IO.popen ‘bot.rb’, ‘r+’
bot.puts ‘some command’
bot.flush
a @ http://codeforpeople.com/
I would look at activemessaging plugin for this if you want something
scalable…
http://code.google.com/p/activemessaging/wiki/ActiveMessaging
It also is pretty simple to send jms message using jruby to the rails
app. I have a bunch of rails apps communicating to servers using jms
and it is robust and scalable. But this code is not very pretty.
http://rubyforge.org/projects/stompmessage/
S.
On Jul 10, 2008, at 6:21 PM, Julien Genestoux wrote:
Correct me if I’m wrong, but popen will “fork” the current process and
run bot.rb in the child.
Actually, here, the bot is already “running” and doing some “other
stuff” that do not require inputs!
Thanks anyway!
man mkfifo
a @ http://codeforpeople.com/