fix potential sqlite lock #1680

release/v1.15
Kim "BKC" Carlbäcker 2017-05-08 10:02:44 +02:00 committed by GitHub
commit a85c5ab9ff
1 changed files with 7 additions and 9 deletions

View File

@ -612,18 +612,16 @@ func (t *HookTask) deliver() {
// TODO: shoot more hooks at same time. // TODO: shoot more hooks at same time.
func DeliverHooks() { func DeliverHooks() {
tasks := make([]*HookTask, 0, 10) tasks := make([]*HookTask, 0, 10)
x. err := x.Where("is_delivered=?", false).Find(&tasks)
Where("is_delivered=?", false). if err != nil {
Iterate(new(HookTask), log.Error(4, "DeliverHooks: %v", err)
func(idx int, bean interface{}) error { return
t := bean.(*HookTask) }
t.deliver()
tasks = append(tasks, t)
return nil
})
// Update hook task status. // Update hook task status.
for _, t := range tasks { for _, t := range tasks {
t.deliver()
if err := UpdateHookTask(t); err != nil { if err := UpdateHookTask(t); err != nil {
log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err) log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
} }