mirror of
https://github.com/simon-ding/polaris.git
synced 2026-06-01 15:37:50 +08:00
feat: buildin task reload
This commit is contained in:
@@ -50,9 +50,32 @@ func (c *Engine) Init() {
|
|||||||
go c.checkW500PosterOnStartup()
|
go c.checkW500PosterOnStartup()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Engine) reloadUsingBuildinDownloader(h *ent.History) error{
|
||||||
|
cl, err := buildin.NewDownloader(c.db.GetDownloadDir())
|
||||||
|
if err != nil {
|
||||||
|
log.Warnf("buildin downloader error: %v", err)
|
||||||
|
}
|
||||||
|
t, err := cl.Download(h.Link, h.Hash, c.db.GetDownloadDir())
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "download torrent")
|
||||||
|
}
|
||||||
|
c.tasks[h.ID] = &Task{Torrent: t}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Engine) reloadTasks() {
|
func (c *Engine) reloadTasks() {
|
||||||
allTasks := c.db.GetRunningHistories()
|
allTasks := c.db.GetRunningHistories()
|
||||||
for _, t := range allTasks {
|
for _, t := range allTasks {
|
||||||
|
if t.DownloadClientID == 0 {
|
||||||
|
log.Warnf("assume buildin downloader: %v", t.SourceTitle)
|
||||||
|
err := c.reloadUsingBuildinDownloader(t)
|
||||||
|
if err != nil {
|
||||||
|
log.Warnf("buildin downloader error: %v", err)
|
||||||
|
} else {
|
||||||
|
log.Infof("success reloading buildin task: %v", t.SourceTitle)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
dl, err := c.db.GetDownloadClient(t.DownloadClientID)
|
dl, err := c.db.GetDownloadClient(t.DownloadClientID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("no download client related: %v", t.SourceTitle)
|
log.Warnf("no download client related: %v", t.SourceTitle)
|
||||||
|
|||||||
Reference in New Issue
Block a user