GitRoot
Craft your forge, Build your project, Grow your community freely
1// SPDX-FileCopyrightText: 2026 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: EUPL-1.2
4
5package background
6
7import "gitroot.dev/server/plugin"
8
9type ScheduleTaskInput struct {
10 RepoName string
11 PluginPurl string
12 PluginRun *plugin.PluginRun
13}
14
15func (m *Manager) Schedule(task ScheduleTaskInput) {
16 m.Start(Task{
17 call: m.schedule,
18 t: task,
19 })
20}
21
22func (m *Manager) schedule(input interface{}) error {
23 scheduleInput := input.(ScheduleTaskInput)
24 if err := m.pluginManager.Schedule(m.ctx, scheduleInput.RepoName, scheduleInput.PluginPurl, scheduleInput.PluginRun); err != nil {
25 m.logger.Error("schedule error", err)
26 }
27
28 return nil
29}