Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 基于sidekiq的可靠调度_Ruby_Cron_Sidekiq_Sidetiq - Fatal编程技术网

Ruby 基于sidekiq的可靠调度

Ruby 基于sidekiq的可靠调度,ruby,cron,sidekiq,sidetiq,Ruby,Cron,Sidekiq,Sidetiq,我正在构建一个监控服务,类似于但监控系统的不同方面,并使用它对工作正常的任务进行排队。我需要做的是安排每分钟发送ping,而不是使用基于cron的系统,这需要在我使用sidekiq自己的队列来安排未来任务的过程中每分钟旋转一个新的ruby实例(注意“t”的不同拼写)。这感觉像是一个整洁的解决方案,但我担心这可能不是安排任务的最可靠的方式?如果系统出现问题(在某一点上不可避免),这种调度任务的方法会比使用基于cron的方法更不可靠吗?为什么 谢谢您对系统需求的描述太短了,但我将尝试猜测它可能是什么

我正在构建一个监控服务,类似于但监控系统的不同方面,并使用它对工作正常的任务进行排队。我需要做的是安排每分钟发送ping,而不是使用基于cron的系统,这需要在我使用sidekiq自己的队列来安排未来任务的过程中每分钟旋转一个新的ruby实例(注意“t”的不同拼写)。这感觉像是一个整洁的解决方案,但我担心这可能不是安排任务的最可靠的方式?如果系统出现问题(在某一点上不可避免),这种调度任务的方法会比使用基于cron的方法更不可靠吗?为什么


谢谢

您对系统需求的描述太短了,但我将尝试猜测它可能是什么:

首先,使用sidekiq意味着您还需要一个redis实例,还意味着您需要一种方法来监视sidekiq进程,并在出现故障时重新启动它,可能还有redis服务器

基于cron任务的方法将具有更少的需求,因此失败的可能性要小得多

cron已经存在很长时间了,它经过了战斗测试,非常可靠,但也有缺点

也就是说,您可以在主/从配置中构建一个具有独立redis实例的系统,还可以使用redis sentinel在主设备出现故障时实现故障切换,在该设置中实现一个监控/警报系统(您可以使用sidekiq作者提供的超级简单的方法)您还可以在不同的机器上启动几个sidekiq实例

有了所有这些,您就可以有一个非常可靠的系统来运行sidekiq和sidetiq

希望能有帮助