Cron jobs not working in WordPress plugin in a VPS with VestCP control panel

I’d guess this is because your new website isn’t getting any traffic.

By default WordPress doesn’t have any background processes to run scheduled jobs on, and instead runs them when it next gets a web request after the scheduled start time. Hence it needs a constant stream of web traffic to run scheduled jobs on time. See Cron in the WordPress documentation.

To fix this, you can set up a scheduled job using the VPN’s system cron to trigger WordPress’s cron jobs. Again from the WordPress documentation: Hooking WP-Cron Into the System Task Scheduler, e.g. cron configuration

*/5 0 * * * wget --delete-after http://YOUR_SITE_URL/wp-cron.php

If you have many long-running jobs there are also plugins that will run WordPress scheduled tasks in a separate service for you.