There are many ways to do this, including, but almost certainly not limited to:
You can maintain the parameters in a separate file so that the program periodically checks this file and updates its internal information.
Similar to (1), but you can send some kind of signal to the application to make it immediately re-read the file.
You can do (1) or (2), but using shared memory, not a configuration file.
Your program may be located on the server at the end of the IPC session so that the client can open a connection for it to provide new parameters. Everything from a simple message queue to a full-blown HTTP server and its related pages.
Of course, all of them, as a rule, need enough work in your program to make it look for new information.
You must take this into account when deciding. To date, the fastest solution for implementation is to simply (cleanly) kill the process at about 11:55 pm, and then immediately restart it. This is simpler because your code probably already has the ability to load information at startup, so it could be a simple single line cron .
Some people talk about laziness as bad, but this is not always the case :-)
source share