Rails Rake 任务中如何关闭 PostgreSQL 事务?

nine · 2016年04月21日 · 最后由 nine 回复于 2016年04月21日 · 1608 次阅读

目前服务器上运行了Rake任务来持续导入数据,使用God管理进程。 但是某些异常会导致数据回滚,最多一次回滚了8天,超级吓人。 是否有方法仅在rake任务中关闭PostgreSQL的事务?

共收到 4 条回复
1楼 已删除

#1楼 @jjfujj 介个。。应该和shell命令没有关系,不是要关闭事务,而是在导入的那个进程中不启用事务

查到写rspec中可以 通过

RSpec.configure do |config|
  config.use_transactional_fixtures = false
end

关闭事务。 目前rake方法还没找到

3楼 已删除

#3楼 @jjfujj

redis = Rredis.instance
while json = redis.rpop('xxx_list')
  data = JSON.parse json
  record = PeopleRecord.new
  record.xxx = data.xxx
  record.save
  # end
  p record.stadct_id
end
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册