ec2 linux实例上的MySql停止从导入脚本中获取数据

时间:2015-03-18 17:56:29

标签: mysql ruby amazon-ec2 cron chef

我有一个主服务器,它将数据导入到从属服务器上的MySQL数据库中,我试图让它继续运行,直到从属服务器达到接近容量。我通过在厨师食谱中设置cron作业来完成这项工作,每15分钟运行20个不同的ruby文件。一切正常工作大约一个小时,然后数据库停止输入。请问有人对此有所了解吗?

我做过的事情: 1)登录数据库并添加条目。这可以。 2)检查cron日志以查看已运行的作业。这很好。

这是我的一个导入文件,但我认为它没有任何问题

require 'rubygems'
require 'mysql2'
require 'open-uri'

#my = Mysql2::Client.new(hostname,username,password,database)

con = Mysql2::Client.new(:hostname => 'ipaddress',
                    :username => 'username',
                    :password => 'password',
                    :database => 'database')        

con.query("CREATE TABLE IF NOT EXISTS words(id INT PRIMARY KEY AUTO_INCREMENT,value VARCHAR(50));")

open('http://samplewebsite.txt').each_line do |word|
    word.split(" ").each do |str|
        outstring = str.gsub(/[^a-zA-Z0-9\-]/,"")
        con.query("INSERT INTO words(value)
                VALUES('"+outstring+"');")
    end
end


puts "Done!"

con.close

提前致谢

编辑:经过一段时间的思考后,我意识到自己的错误(以及下面人们的回答),我从服务器上多次访问同一个网站,所以我被封锁了。我已经修改了我的食谱去了不同的网站,所以它们更加分散,现在一切正常。感谢wjo的回答!

0 个答案:

没有答案