Implement lock file in a more robust way
The current lock file gets written when the hourly updater starts and gets deleted when it exits. It's really good in preventing concurrent executions. But it doesn't handle cases when a process doesn't exit cleanly, because subsequent executions won't start at all. One possibility for not exiting cleanly is that the machine gets rebooted while the hourly updater is running.
One way to fix this might be to use Java's FileLock instead of making up our own lock file.
This is more a defect than an enhancement, because it broke the main Onionoo service instance.