I'm still "new" to ruby on rails, i try to create a little browsergame. For that, I have to control the "resources" of a village. For example: The village got a wood rate of 200 per hour, so i want to call every hour a method/action (anything) that count the 200 to the rest wood. But of course, i need to do this with every village.
Since yet I did some easy code with delayed job and it all worked fine, but now i think about how to create this big background job. One option to start it would be at the first creation of a village but how? But i thought about it, setting it up with delayed job and running an method that check hundreds of villages, it sounds a little nonproductive and a waste of time. Btw. that would mean, that one worker is all the time busy and can't do anything else or not? I mean thats really annoying cause he is frozen for the most time - doing nothing. What of course mean i need a second worker and then heroku is not "for free" anymore? So what do you think is the best way(with or without delayed_job) to handle this job?
Has anyone an example site which had the same problem?
Ps: is there a way to start the code every full hour? I think using sleep could be a second problem with many villages. For that long running code it wouldn't be anymore "every full hour" it would turn in every hour and a half, or not?