From e9caf0980a644ec62739b16facdee31e318ed1b0 Mon Sep 17 00:00:00 2001 From: "Gan Yi.ang" Date: Fri, 27 Nov 2015 17:57:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=94=A8=E6=88=B7sync=5Fgitl?= =?UTF-8?q?ab=5Fuser=EF=BC=8C=E5=8A=A0=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_gitlab_user.rake | 34 +++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/lib/tasks/sync_gitlab_user.rake b/lib/tasks/sync_gitlab_user.rake index c932ca36c..fb84f5f08 100644 --- a/lib/tasks/sync_gitlab_user.rake +++ b/lib/tasks/sync_gitlab_user.rake @@ -6,24 +6,30 @@ namespace :gitlab do users = User.find_by_sql("select * from users where gid is null") s = Trustie::Gitlab::Sync.new g = Gitlab.client + logger = Logger.new('./log/add_gid.log', 'daily') #按天生成 users.each do |user| - us = g.get("/users?search=#{user.mail}") - puts user.mail - if us.blank? - puts "55555555555555555" - s.sync_user(user) - else - # 解决查询的时候出现多值的情况,比如:123@163.com和g123@163.com - puts "66666666666666666666" - puts user.id - if Array === us - us.each do |u| - if u.email == user.mail - user.gid = u.id - user.save + begin + us = g.get("/users?search=#{user.mail}") + puts user.mail + if us.blank? + puts "55555555555555555" + s.sync_user(user) + else + # 解决查询的时候出现多值的情况,比如:123@163.com和g123@163.com + puts "66666666666666666666" + puts user.id + if Array === us + us.each do |u| + if u.email == user.mail + user.gid = u.id + user.save + end end end end + rescue => e + logger.error("userid=#{user.id},mail=#{user.mail},login=#{user.login},error=#{e}") + puts e end end end