如何在cloudControl PaaS上的本地文件上运行cronjobs?
在cloudControl上,我既可以运行,也可以运行 如果我想定期执行本地任务(我不想打电话给可公开访问的网站),该怎么办 我看到了可能的解决办法:如何在cloudControl PaaS上的本地文件上运行cronjobs?,cron,worker,cloudcontrol,Cron,Worker,Cloudcontrol,在cloudControl上,我既可以运行,也可以运行 如果我想定期执行本地任务(我不想打电话给可公开访问的网站),该怎么办 我看到了可能的解决办法: 根据, “cloudControl上的cronjobs是对指定URL的定期调用。” 因此,在本地调用该文件是不可能的(?)。所以我必须创建一个可以通过URL调用的页面。如果客户机在本地主机(=服务器)上,我必须执行检查——我希望避免这种情况 我让workersleep()等待所需的时间,然后让它重新运行 // do some arbitrary
sleep()
等待所需的时间,然后让它重新运行
// do some arbitrary action
Foo::doSomeAction();
// e.g. sleep 1 day
sleep(86400);
// restart worker
exit(2);
(或者:我可以简单地通过cron调用本地文件吗?第一个选项是不可能的,因为url请求是从单独的Web服务发出的。 您可以在cron任务中使用HTTP身份验证,但是worker解决方案也是完全有效的
请记住,worker可以迁移到不同的服务器(在软件更新或硬件故障的情况下),因此do SomeAction()每天可能会执行一次以上。此外,您可以始终使用cron附加组件触发http请求,并使用它通过API启动worker。关于工作进程重启,如果工作进程因节点故障等原因重启,它将保留相同的工作进程id。该工作进程id在环境中可用。您可以使用它来实现锁定机制,例如,如果任务从未运行过一次,那么这一点很重要。您是否有任何文档或方法可用于这些场景?