Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django/Python - Updating the database every second

Tags:

python

django

I'm working on creating a browser-based game in Django and Python, and I'm trying to come up with a solution to one of the problems I'm having.

Essentially, every second, multiple user variables need to be updated. For example, there's a currency variable that should increase by some amount every second, progressively getting larger as you level-up and all of that jazz.

I feel like it's a bad idea to do this with cronjobs (and from my research, other people think that too), so right now I'm thinking I should just create a thread that loops through all of the users in the database that performs these updates.

Am I on the right track here, or is there a better solution? In Django, how can I start a thread the second the server starts?

I appreciate the insight.

like image 314
Jesse McBride Avatar asked Dec 02 '25 00:12

Jesse McBride


1 Answers

One of the possible solutions would be to use separate daemonized lightweight python script to perform all the in-game business logic and left django be just the frontend to your game. To bind them together you might pick any of high-performance asynchronous messaging library like ZeroMQ (for instance to pass player's actions to that script). This stack would also have a benefit of a frontend being separated and completely agnostic of a backend implementation.

like image 175
Serj Zaharchenko Avatar answered Dec 04 '25 14:12

Serj Zaharchenko



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!