我有一个工作Perl脚本将插入,正确地检索从MySQL数据库中的数据时,我与我的系统,并在剧本没有问题做网上检索数据库中的数据。如何从多个perl脚本
我有数据库包含10000符合两个属性ID,网址数据。
我必须使用Perl打开数据库,并在我的机器上获取id和url的前10个数据集,而在另一个系统中,它应该接下来的10行数据,就像我必须同时为五台独立的机器一样。
反正有做这样或任何其他方法?
我有一个工作Perl脚本将插入,正确地检索从MySQL数据库中的数据时,我与我的系统,并在剧本没有问题做网上检索数据库中的数据。如何从多个perl脚本
我有数据库包含10000符合两个属性ID,网址数据。
我必须使用Perl打开数据库,并在我的机器上获取id和url的前10个数据集,而在另一个系统中,它应该接下来的10行数据,就像我必须同时为五台独立的机器一样。
反正有做这样或任何其他方法?
你可以用一个参数,告诉它,它是数字1,2,3,4或5。所以同一个脚本,只是调用,在每个5台主机的其他号码,创建自己的脚本。所以1号进程1-10,51-60,101-110等等,你明白了。只要没有(id,url)对被删除或插入,这将正常工作。追加是好的。如果你的脚本写日志文件,你总是可以看到完成了多少。你甚至可以在你的表格中添加一个“主机”和“状态”列,表示记录还没有处理,正在由哪个主机处理或已经完成。
如果您不能列添加到现有的表,你可以使用第二个表由ID引用的第一个表。
如果你想花哨和解决插入/删除问题(如果它适用于你),你可以更进一步,让你的主机检查下一个未处理的记录,锁定它,处理它,写状态“完成”,然后释放记录。
那么你甚至可以有动态主机加入了党和锁,工艺,发行记录只是因为他们有资源可用。
====================
不同的开始:一个主机控制器和销售您的10记录的数据包。所以每个主机上的相同脚本必须接受传输10个ID的参数。第二个脚本注意到,当一个主机完成了10条记录并给出了10条新记录。
快乐脚本。
TomTomTom
我知道你是想不同的方案,以同一组数据的共同努力。那是对的吗? – simbabque
是的,相同的脚本应该可以在不同的机器上工作,并从单个数据库检索数据。 – Sugumar
在不同的机器上运行相同的程序并使它们全都使用相同的数据库没有问题。有趣的是让他们平行处理某些东西。这听起来像你想要集中你的数据处理。机器a将执行1到10行,机器B执行11到20行,等等。现在的问题是,他们如何知道要运行哪些?如果存在静态分配,则可以将参数用于程序。 – simbabque