Closed FreekingDean closed 8 years ago
This will also allow you to have all different interface apps. And it allows anyone to use the same basic backend.
Interesting idea. The main issue at this point is that they would have to be broken into separate apps (since it costs more to have more than two processes). If possible, see if there is a way to 'ping' each component through HTTP so that they are all awake when a user shows up.
I can run it hobby style :)
On Tue, Apr 26, 2016, 8:00 PM Joshua Zenn notifications@github.com wrote:
Interesting idea. The main issue at this point is that they would have to be broken into separate apps (since it costs more to have more than two processes). If possible, see if there is a way to 'ping' each component through HTTP so that they are all awake when a user shows up.
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/ARMmaster17/JeffBot/issues/23#issuecomment-214924558
That works. I might just eventually migrate off of heroku onto one of my machines in my basement. Might be slower but at least there aren't any restrictions on size or scalability.
You can see this here: https://github.com/FreekingDean/JeffBot
Once I have a full fleshed out frontend separate app I will make a PR.
I did use the standalone migrations gem. So migrations are easier.
When you need to change the DB at all run rake db:new_migration name=name_of_migration
I also updated the DB with a proper db_name, username & password. Those would be breaking changes to your dev environment. It still uses herokus PG URL though.
I think this might be best broken into separate applications.
The front end applications are really more so clients and the backend application is the true brains.
Just throwing out the idea of this. I am working in my fork to see how it could work.
I think it would be something like this:
[MESSAGE] -> Frontend App: send to Backend.learn queue send to Backend.speak queue & wait for response on response frontend queue (optional)
[LEARN QUEUE] -> BACKEND: save it
[SPEAK QUEUE] -> BACKEND: find suitable response send response to Frontend.send_response queue