如何每天运行我的脚本x次?(linux上的ruby)

Rad*_*dek 0 ruby scheduling

我想在我的linux机器每天运行我的ruby脚本x次(数字可能会改变).如果我不希望它同时发生,最好的方法是什么?我希望时间(小时和分钟)是随机的

我在考虑使用at命令.脚本将at在x小时/分钟左右调用,然后脚本将设置另一个调用at.不确定是否有更好的方法或只有红宝石的方式.

Jon*_*ler 5

我考虑使用该at程序来运行程序(而不是cron直接使用,因为cron实际上只能按固定的时间表运行).我还创建了一个程序(我使用Perl;你将使用Ruby)来安排随机延迟,直到下次执行作业为止.

您需要考虑在24小时内"x"次执行作业是否至关重要,以及随机性应如何工作.时间的变化范围是多少?例如,您可能会cron在午夜加上7分钟的时间运行一个工作,然后at在一天中安排"x" 工作间隔均匀,并且计划中的随机偏差为±30分钟.或者您可能更喜欢使用平均间隔为24/x小时并且随机偏差一定量的作业来安排替代方案.不同的是,第一种机制保证你在当天得到x事件(除非你把事情做得太极端); 第二种可能有时只能在24小时内获得x-1事件或x + 1事件.