aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-09-12 18:58:24 -0400
committerUnknwon <joe2010xtmf@163.com>2014-09-12 18:58:24 -0400
commit1b7adf57e94aaccd2abc6c7288947e36bb311c0a (patch)
treec45836d27d10807df9d047548b0ec3a0aec03e01
parentcfed11f092580ecf47cff43274c7cdd10d07bffd (diff)
downloadgitea-1b7adf57e94aaccd2abc6c7288947e36bb311c0a.tar.gz
gitea-1b7adf57e94aaccd2abc6c7288947e36bb311c0a.zip
fix https://github.com/go-xorm/xorm/issues/161
-rw-r--r--models/models.go2
-rw-r--r--models/webhook.go17
2 files changed, 13 insertions, 6 deletions
diff --git a/models/models.go b/models/models.go
index 247bcf2f65..283a8f7a93 100644
--- a/models/models.go
+++ b/models/models.go
@@ -77,7 +77,7 @@ func getEngine() (*xorm.Engine, error) {
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
}
os.MkdirAll(path.Dir(DbCfg.Path), os.ModePerm)
- cnnstr = DbCfg.Path
+ cnnstr = "file:" + DbCfg.Path + "?cache=shared&mode=rwc"
default:
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
}
diff --git a/models/webhook.go b/models/webhook.go
index 5c0e217975..3c07cc8179 100644
--- a/models/webhook.go
+++ b/models/webhook.go
@@ -236,6 +236,7 @@ func UpdateHookTask(t *HookTask) error {
// DeliverHooks checks and delivers undelivered hooks.
func DeliverHooks() {
+ tasks := make([]*HookTask, 0, 10)
timeout := time.Duration(setting.WebhookDeliverTimeout) * time.Second
x.Where("is_delivered=?", false).Iterate(new(HookTask),
func(idx int, bean interface{}) error {
@@ -283,12 +284,18 @@ func DeliverHooks() {
}
}
- if err := UpdateHookTask(t); err != nil {
- log.Error(4, "UpdateHookTask: %v", err)
- return nil
- }
+ tasks = append(tasks, t)
- log.Trace("Hook delivered(%s): %s", t.Uuid, t.PayloadContent)
+ if t.IsSucceed {
+ log.Trace("Hook delivered(%s): %s", t.Uuid, t.PayloadContent)
+ }
return nil
})
+
+ // Update hook task status.
+ for _, t := range tasks {
+ if err := UpdateHookTask(t); err != nil {
+ log.Error(4, "UpdateHookTask(%d): %v", t.Id, err)
+ }
+ }
}