0

我的 Perl 脚本(test.pl)现在在 crontab 中运行为

* * * * * perl test.pl >/dev/null 2>&1

我希望在不使用 crontab 的情况下每隔 1 分钟运行一次我的脚本。我将无权将 cron 作业写入 /etc/cron.d/,因此需要找到另一个解决方案

有没有办法做到这一点?

4

2 回答 2

5

Schedule::Cron是 CPAN 上的一个模块,它提供了运行周期性任务的强大能力。

use Schedule::Cron;
my $cron = new Schedule::Cron(sub {});
sub run_task { 
    # do something... 
}
$cron->add_entry("0 11 * * Mon-Fri",\&run_task);
$cron->run();

强烈推荐,因为:

  1. 触发任务的时间间隔是自定义且灵活的,几乎与crontab*nix 系统中的相同。因此,当您有新需求时,您可以轻松快速地更改脚本;

  2. 它允许定期在脚本中运行单个函数,而不是定期运行整个脚本,因此再次灵活;

于 2013-09-25T07:05:54.577 回答
0

尝试一个守护进程。将您的代码置于无限循环中,并在每次迭代之间休眠 60 秒。我猜。

于 2013-09-25T09:50:23.433 回答