updates.rb 702 B

12345678910111213141516171819202122232425262728293031
  1. r = Nginx::Request.new
  2. num_queries = r.var.arg_queries.to_i
  3. num_queries = 1 if num_queries < 0
  4. num_queries = 500 if num_queries > 500
  5. class Worlds
  6. def db
  7. @db ||= Userdata.new("my_#{Process.pid}").db
  8. end
  9. def find(id)
  10. db.execute("select * from World where id = ?", id) do |row, fields|
  11. return Hash[fields.zip(row)]
  12. end
  13. end
  14. def save(world)
  15. #TODO: consider execute_batch
  16. db.execute("update World set randomNumber = ? where id = ?", world["randomNumber"], world["randomNumber"])
  17. end
  18. end
  19. ret = num_queries.times.map { World.find(rand(10000)) }
  20. ret.each do |world|
  21. world["randomNumber"] = rand(10000) + 1
  22. World.save(world)
  23. end
  24. Nginx.rputs JSON::stringify(ret)