Documentation
¶
Overview ¶
Copyright (C) 2020 Daniele Rondina <geaaru@sabayonlinux.org> Credits goes also to Gogs authors, some code portions and re-implemented design are also coming from the Gogs project, which is using the go-macaron framework and was really source of ispiration. Kudos to them!
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (C) 2020 Daniele Rondina <geaaru@sabayonlinux.org> Credits goes also to Gogs authors, some code portions and re-implemented design are also coming from the Gogs project, which is using the go-macaron framework and was really source of ispiration. Kudos to them!
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (C) 2020 Daniele Rondina <geaaru@sabayonlinux.org> Credits goes also to Gogs authors, some code portions and re-implemented design are also coming from the Gogs project, which is using the go-macaron framework and was really source of ispiration. Kudos to them!
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Index ¶
- type DailyRecursiveTaskSeer
- type DefaultRecursiveTaskSeer
- type DefaultScheduler
- func (s *DefaultScheduler) CreateTaskScheduled()
- func (s *DefaultScheduler) FilterPostElaboration(opts SchedulerOpts) error
- func (s *DefaultScheduler) FilterPreElaboration(opts SchedulerOpts) error
- func (s *DefaultScheduler) FilterPreElaborationFlags(opts SchedulerOpts) error
- func (s *DefaultScheduler) GetConfig() *specs.TimeMasterConfig
- func (s *DefaultScheduler) GetLogger() *log.TmLogger
- func (s *DefaultScheduler) GetResourcesMap() *map[string]*ResourceDailyMap
- func (s *DefaultScheduler) GetTaskMap() *map[string]*specs.TaskScheduled
- func (s *DefaultScheduler) Init() error
- func (s *DefaultScheduler) SetClients(clients *[]specs.Client)
- func (s *DefaultScheduler) SetResources(r *[]specs.Resource)
- func (s *DefaultScheduler) SetTimesheets(t *[]specs.AgendaTimesheets)
- type MonthlyRecursiveTaskSeer
- type RecursiveTaskSeer
- type ResourceDailyMap
- type SchedulerOpts
- type SimpleScheduler
- type TimeMasterScheduler
- type WeeklyRecursiveTaskSeer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DailyRecursiveTaskSeer ¶
type DailyRecursiveTaskSeer struct {
*DefaultRecursiveTaskSeer
}
func NewDailyRecursiveTaskSeer ¶
func NewDailyRecursiveTaskSeer(s TimeMasterScheduler, t *specs.TaskScheduled) *DailyRecursiveTaskSeer
func (*DailyRecursiveTaskSeer) GetNextDay ¶
func (r *DailyRecursiveTaskSeer) GetNextDay(date string) (string, error)
type DefaultRecursiveTaskSeer ¶
type DefaultRecursiveTaskSeer struct {
Scheduler TimeMasterScheduler
Task *specs.TaskScheduled
// contains filtered or unexported fields
}
func (*DefaultRecursiveTaskSeer) DoPrevision ¶
func (r *DefaultRecursiveTaskSeer) DoPrevision(now string) error
type DefaultScheduler ¶
type DefaultScheduler struct {
Logger *log.TmLogger
Config *specs.TimeMasterConfig
Clients []specs.Client
Resources []specs.Resource
Timesheets []specs.AgendaTimesheets
Scenario *specs.ScenarioSchedule
ResourcesMap map[string]*ResourceDailyMap
// contains filtered or unexported fields
}
func (*DefaultScheduler) CreateTaskScheduled ¶
func (s *DefaultScheduler) CreateTaskScheduled()
func (*DefaultScheduler) FilterPostElaboration ¶
func (s *DefaultScheduler) FilterPostElaboration(opts SchedulerOpts) error
func (*DefaultScheduler) FilterPreElaboration ¶
func (s *DefaultScheduler) FilterPreElaboration(opts SchedulerOpts) error
func (*DefaultScheduler) FilterPreElaborationFlags ¶
func (s *DefaultScheduler) FilterPreElaborationFlags(opts SchedulerOpts) error
func (*DefaultScheduler) GetConfig ¶
func (s *DefaultScheduler) GetConfig() *specs.TimeMasterConfig
func (*DefaultScheduler) GetLogger ¶
func (s *DefaultScheduler) GetLogger() *log.TmLogger
func (*DefaultScheduler) GetResourcesMap ¶
func (s *DefaultScheduler) GetResourcesMap() *map[string]*ResourceDailyMap
func (*DefaultScheduler) GetTaskMap ¶
func (s *DefaultScheduler) GetTaskMap() *map[string]*specs.TaskScheduled
func (*DefaultScheduler) Init ¶
func (s *DefaultScheduler) Init() error
func (*DefaultScheduler) SetClients ¶
func (s *DefaultScheduler) SetClients(clients *[]specs.Client)
func (*DefaultScheduler) SetResources ¶
func (s *DefaultScheduler) SetResources(r *[]specs.Resource)
func (*DefaultScheduler) SetTimesheets ¶
func (s *DefaultScheduler) SetTimesheets(t *[]specs.AgendaTimesheets)
type MonthlyRecursiveTaskSeer ¶
type MonthlyRecursiveTaskSeer struct {
*DefaultRecursiveTaskSeer
}
func NewMonthlyRecursiveTaskSeer ¶
func NewMonthlyRecursiveTaskSeer(s TimeMasterScheduler, t *specs.TaskScheduled) *MonthlyRecursiveTaskSeer
func (*MonthlyRecursiveTaskSeer) GetNextDay ¶
func (r *MonthlyRecursiveTaskSeer) GetNextDay(date string) (string, error)
type RecursiveTaskSeer ¶
type RecursiveTaskSeer interface {
DoPrevision(now string) error
GetNextDay(date string) (string, error)
}
func NewRecursiveTaskSeer ¶
func NewRecursiveTaskSeer(s TimeMasterScheduler, t *specs.TaskScheduled) RecursiveTaskSeer
type ResourceDailyMap ¶
type SchedulerOpts ¶
type SchedulerOpts struct {
SkipPlan bool
OnlyClosed bool
SkipEmptyTasks bool
IgnoreMissingDeps bool
PreClients []string
PreActivities []string
PreExcludeActivities []string
PreExcludeTaskFlags []string
PreExcludeActivityFlags []string
// Post elaboration filter
PostClients []string
PostActivities []string
PostExcludeActivities []string
PostExcludeTaskFlags []string
PostExcludeActivityFlags []string
}
type SimpleScheduler ¶
type SimpleScheduler struct {
*DefaultScheduler
}
func NewSimpleScheduler ¶
func NewSimpleScheduler(config *specs.TimeMasterConfig, scenario *specs.Scenario) *SimpleScheduler
func (*SimpleScheduler) BuildPrevision ¶
func (s *SimpleScheduler) BuildPrevision(opts SchedulerOpts) (*specs.ScenarioSchedule, error)
type TimeMasterScheduler ¶
type TimeMasterScheduler interface {
BuildPrevision(SchedulerOpts) (*specs.ScenarioSchedule, error)
SetClients(*[]specs.Client)
SetResources(*[]specs.Resource)
SetTimesheets(*[]specs.AgendaTimesheets)
// Internal methods
GetResourcesMap() *map[string]*ResourceDailyMap
GetTaskMap() *map[string]*specs.TaskScheduled
GetConfig() *specs.TimeMasterConfig
GetLogger() *log.TmLogger
Init() error
}
type WeeklyRecursiveTaskSeer ¶
type WeeklyRecursiveTaskSeer struct {
*DefaultRecursiveTaskSeer
}
func NewWeeklyRecursiveTaskSeer ¶
func NewWeeklyRecursiveTaskSeer(s TimeMasterScheduler, t *specs.TaskScheduled) *WeeklyRecursiveTaskSeer
func (*WeeklyRecursiveTaskSeer) GetNextDay ¶
func (r *WeeklyRecursiveTaskSeer) GetNextDay(date string) (string, error)