Many systems periodically sweep temporary files, deleting any that have not been accessed in a long time. Socket file timestamps are not updated when data is passed through them, so even if they are actively in use, they will appear stale to the sweeper unless they have been explicitly "touched".
This has caused a problem for the product that I work on, and it was very hard to debug. We ended up with multiple instances of supervisord after shutting down and restarting our application and couldn't figure out why that happened.
It is obviously possible for me to solve this by adding a process managed by Supervisor that periodically touches the socket file, but it would be nice if supervisord would just do that automatically. I see that PostgreSQL's socket file timestamp gets updated once every half an hour, so that seems like a good interval size.
Many systems periodically sweep temporary files, deleting any that have not been accessed in a long time. Socket file timestamps are not updated when data is passed through them, so even if they are actively in use, they will appear stale to the sweeper unless they have been explicitly "touched".
This has caused a problem for the product that I work on, and it was very hard to debug. We ended up with multiple instances of
supervisordafter shutting down and restarting our application and couldn't figure out why that happened.It is obviously possible for me to solve this by adding a process managed by Supervisor that periodically touches the socket file, but it would be nice if
supervisordwould just do that automatically. I see that PostgreSQL's socket file timestamp gets updated once every half an hour, so that seems like a good interval size.