Webhook delivery locking & Hide repo for org members if they don't have access

此提交包含在:
Unknwon
2014-10-09 19:01:22 -04:00
父節點 7b03b1df0e
當前提交 79262173a6
共有 4 個檔案被更改,包括 31 行新增4 行删除
+15 -1
查看文件
@@ -235,8 +235,22 @@ func UpdateHookTask(t *HookTask) error {
return err
}
var (
// Prevent duplicate deliveries.
// This happens with massive hook tasks cannot finish delivering
// before next shooting starts.
isShooting = false
)
// DeliverHooks checks and delivers undelivered hooks.
// FIXME: maybe can use goroutine to shoot a number of them at same time?
func DeliverHooks() {
if isShooting {
return
}
isShooting = true
defer func() { isShooting = false }()
tasks := make([]*HookTask, 0, 10)
timeout := time.Duration(setting.WebhookDeliverTimeout) * time.Second
x.Where("is_delivered=?", false).Iterate(new(HookTask),
@@ -255,7 +269,7 @@ func DeliverHooks() {
t.IsDelivered = true
// TODO: record response.
// FIXME: record response.
switch t.Type {
case GOGS:
{