我有一个名为“worker.rb”的脚本。运行时,此脚本将执行一段时间(可以说是一个小时)然后死掉。
我需要另一个脚本来负责生成上面的工作脚本。我们称这个脚本为“runner.rb”。'runner.rb' 将被调用,并带有一个参数,该参数指示允许生成多少个工人。
我希望 runner.rb 执行以下操作:(例如 'ruby runner.rb 5')- 查询数据库中的特定值(例如获得 100 个值)- 生成 5 个 'worker.rb' 实例(传递前 5 个)值) - 继续检查上面生成的任何“worker.rb”实例是否完成,然后使用数据库中的第 6 个值再次调用“worker.rb”并无限期地继续此过程。
我正在使用 Daemons gem,但作为解决此问题的最佳方式而迷失了方向。'runner' 脚本绝对应该被守护 - 但工人也应该被守护吗?
“跑步者”应该如何检查“工人”是否已经完成?这可以使用存储在文件中的 PID 来完成吗?