在cloudControl上,我可以run a local task via a worker或者我可以运行cronjob。
如果我想定期执行本地任务怎么办(我不想打电话给可公开访问的网站)。
我看到了可能的解决方案:
“cloudControl上的cronjobs是对您指定的URL的定期调用。”
因此无法在本地调用文件(?)。所以我必须创建一个我可以通过URL调用的页面。如果客户端在localhost(=服务器)上,我必须执行检查 - 我想避免这种情况。
我让工人sleep()
停留所需的时间,然后重新运行。
// do some arbitrary action
Foo::doSomeAction();
// e.g. sleep 1 day
sleep(86400);
// restart worker
exit(2);
推荐哪一个?
(或者:我可以通过cron简单地调用本地文件吗?)
答案 0 :(得分:2)
第一个选项是不可能的,因为url请求来自单独的webservice。 您可以在cron任务中使用HTTP身份验证,但工作者解决方案也完全有效。
请记住,工作人员可以迁移到其他服务器(在软件更新或硬件故障的情况下),因此SomeAction()可能会不时每天执行一次,而不是每天执行一次。