First of all I'd like to say I really love this Rails community.
Everyone is very helpful and I've learned so much that I simply
couldn't have learned just by reading books. I was wondering if you
could help me with the following as well. My general question is: will
Rails be the way to go with this?
I need an application that does server monitoring. But not general
server monitoring (as in ping specific ports), it actually queries
servers for information and based on that information it will act.
There will be a list of servers and generally, when the end of the
list is reached, it will start all over again. The list will be
updated by the application, but also by user input. I need to be able
to set an interval between the requests, but the application also
needs to know about certain limitations. For example, there will be a
maximum of queries to a specific server in a single hour as some
database entries point to the same server, but with a different query.
At this point I ask you - is this all possible? The application needs
to run on itself for months, maybe even years in a row and be very low-
Well, if that's possible with Rails, there's another part of the
application that needs to act on specific results. For example, when
something's not the way it should be, it needs to send an e-mail. The
thing is, this e-mail needs to be sent -fast- ! I'm talking about
milliseconds here. This is because the e-mail will be processed by
another server automatically. Every millisecond counts with this.
Again, I ask you: is Rails the way to go?
I'm quite sure I want to develop the front-end in Rails, but I'm
unsure as to whether the backend will be just as fast in Rails as in
any other programming language. Are there things to think about here?
For example, I don't know how I would best send these e-mails. SMTP?
Is this fast in Rails? Any faster or slower than in any other
programming language? And why? I'm very inexperienced with the
properties of various available programming languages and wouldn't
know where to start exploring this.
And how can I make this an ongoing process? I don't want a cronjob-
powered script, for example. Later on, when there's a lot to query, we
might move from sending a query once every five seconds to a hundred
times per second. How to do this? It could also be also time-specific.
Some database entries only need to be monitored from 8AM to 5PM for
example. But not all.
I hope you can help me with this, as I'm not sure where to start. If
you tell me to go and learn another programming language that's
faster, I will. Just be honest.
Thank you very much.