add timeout for lock now
now it will check remote update then really pull it
Fix a bug after project submiting
Add Sidekiq, now we can use it to update git repo in the background