我有一个工作的Perl脚本,当我使用我的系统时,它会正确插入,从mysql数据库中检索数据,并且脚本没有问题。
我的db包含10000行数据,其中包含两个属性id,url。
我必须使用Perl打开数据库并在我的机器中获取id和url的前10个数据集,而在另一个系统中,它应该采用下一个10行数据,就像我必须同时为五个独立的机器做的那样。
无论如何都可以这样或任何其他方法吗?
答案 0 :(得分:0)
你可以用一个参数创建你的脚本,告诉它它是数字1,2,3,4或5.所以同样的脚本,只是在5个主机的每一个上用另一个数字调用。所以数字1进程1-10,51-60,101-110等等,你得到它。只要没有(id,url)对被删除或插入,这将正常工作。附加是好的。如果您的脚本写入日志文件,您始终可以看到完成的程度。您甚至可以在表中添加“主机”和“状态”列,表明记录尚未处理,由主机处理或已经完成。
如果无法将列添加到现有表中,则可以使用通过id引用第一个表的第二个表。
如果您想要花哨并解决插入/删除问题(如果它适用于您),您可以更进一步让主机检查下一个未处理的记录,锁定它,处理它,写入状态“完成”,然后发布记录。
然后,您甚至可以动态地让主机加入聚会并锁定,处理,释放记录,就像它们拥有可用资源一样。
====================
不同的开始:一个主机是控制器并分发您的10条记录数据包。因此,每个主机上的相同脚本必须接受传输10个ID的参数。第二个脚本注意到,当主持人完成了10个记录并给它10个新记录时。
快乐的脚本。
TomTomTom