loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at forgejo 76 lines 2.1 kB view raw
1// Copyright 2022 The Gitea Authors. All rights reserved. 2// SPDX-License-Identifier: MIT 3 4package cron 5 6import ( 7 "context" 8 9 user_model "forgejo.org/models/user" 10 "forgejo.org/modules/setting" 11 actions_service "forgejo.org/services/actions" 12) 13 14func initActionsTasks() { 15 if !setting.Actions.Enabled { 16 return 17 } 18 registerStopZombieTasks() 19 registerStopEndlessTasks() 20 registerCancelAbandonedJobs() 21 registerScheduleTasks() 22 registerActionsCleanup() 23} 24 25func registerStopZombieTasks() { 26 RegisterTaskFatal("stop_zombie_tasks", &BaseConfig{ 27 Enabled: true, 28 RunAtStart: true, 29 Schedule: "@every 5m", 30 }, func(ctx context.Context, _ *user_model.User, cfg Config) error { 31 return actions_service.StopZombieTasks(ctx) 32 }) 33} 34 35func registerStopEndlessTasks() { 36 RegisterTaskFatal("stop_endless_tasks", &BaseConfig{ 37 Enabled: true, 38 RunAtStart: true, 39 Schedule: "@every 30m", 40 }, func(ctx context.Context, _ *user_model.User, cfg Config) error { 41 return actions_service.StopEndlessTasks(ctx) 42 }) 43} 44 45func registerCancelAbandonedJobs() { 46 RegisterTaskFatal("cancel_abandoned_jobs", &BaseConfig{ 47 Enabled: true, 48 RunAtStart: true, 49 Schedule: "@every 6h", 50 }, func(ctx context.Context, _ *user_model.User, cfg Config) error { 51 return actions_service.CancelAbandonedJobs(ctx) 52 }) 53} 54 55// registerScheduleTasks registers a scheduled task that runs every minute to start any due schedule tasks. 56func registerScheduleTasks() { 57 // Register the task with a unique name, enabled status, and schedule for every minute. 58 RegisterTaskFatal("start_schedule_tasks", &BaseConfig{ 59 Enabled: true, 60 RunAtStart: false, 61 Schedule: "@every 1m", 62 }, func(ctx context.Context, _ *user_model.User, cfg Config) error { 63 // Call the function to start schedule tasks and pass the context. 64 return actions_service.StartScheduleTasks(ctx) 65 }) 66} 67 68func registerActionsCleanup() { 69 RegisterTaskFatal("cleanup_actions", &BaseConfig{ 70 Enabled: true, 71 RunAtStart: false, 72 Schedule: "@midnight", 73 }, func(ctx context.Context, _ *user_model.User, _ Config) error { 74 return actions_service.Cleanup(ctx) 75 }) 76}