如何在云控制PaaS上的本地文件上运行cron作业?

时间:2013-09-30 18:47:51

标签: cron worker cloudcontrol

在cloudControl上,我可以run a local task via a worker或者我可以运行cronjob

如果我想定期执行本地任务怎么办(我不想打电话给可公开访问的网站)。

我看到了可能的解决方案:

  1. 根据the documentation

      

    “cloudControl上的cronjobs是对您指定的URL的定期调用。”

    因此无法在本地调用文件(?)。所以我必须创建一个我可以通过URL调用的页面。如果客户端在localhost(=服务器)上,我必须执行检查 - 我想避免这种情况。

  2. 我让工人sleep()停留所需的时间,然后重新运行。

    // do some arbitrary action
    Foo::doSomeAction();
    
    // e.g. sleep 1 day
    sleep(86400);
    
    // restart worker
    exit(2);
    
  3. 推荐哪一个?
    (或者:我可以通过cron简单地调用本地文件吗?)

1 个答案:

答案 0 :(得分:2)

第一个选项是不可能的,因为url请求来自单独的webservice。 您可以在cron任务中使用HTTP身份验证,但工作者解决方案也完全有效。

请记住,工作人员可以迁移到其他服务器(在软件更新或硬件故障的情况下),因此SomeAction()可能会不时每天执行一次,而不是每天执行一次。