mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
34 lines
553 B
Go
34 lines
553 B
Go
package apps
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/apex/log"
|
|
"github.com/crawlab-team/go-trace"
|
|
)
|
|
|
|
type App interface {
|
|
Init()
|
|
Run()
|
|
}
|
|
|
|
type BaseApp struct {
|
|
}
|
|
|
|
func (app *BaseApp) Init() {
|
|
panic("implement me")
|
|
}
|
|
|
|
func (app *BaseApp) Run() {
|
|
panic("implement me")
|
|
}
|
|
|
|
func (app *BaseApp) initModule(name string, fn func() error) (err error) {
|
|
if err := fn(); err != nil {
|
|
log.Error(fmt.Sprintf("init %s error: %s", name, err.Error()))
|
|
_ = trace.TraceError(err)
|
|
panic(err)
|
|
}
|
|
log.Info(fmt.Sprintf("initialized %s successfully", name))
|
|
return nil
|
|
}
|