@@ -164,9 +164,10 @@ func (e *videoCutSqlContainer) ToRunningStatus(ctx context.Context, ftask *frame
164164 t := time .Now ()
165165 sql := db .Model (& VideoCutTask {}).Where ("task_id = ? and status = ?" , ftask .TaskId , ftask .TaskStatus ).
166166 Updates (map [string ]interface {}{
167- "status" : framework .TASK_STATUS_RUNNING ,
168- "start_time" : t ,
169- "work_task_id" : task .WorkTaskId ,
167+ "status" : framework .TASK_STATUS_RUNNING ,
168+ "start_time" : t ,
169+ "work_task_id" : task .WorkTaskId ,
170+ "attempts_time" : ftask .TaskAttemptsTime ,
170171 })
171172 if sql .Error != nil {
172173 return ftask , fmt .Errorf ("db update error: %v" , sql .Error )
@@ -194,7 +195,6 @@ func (e *videoCutSqlContainer) ToStopStatus(ctx context.Context, ftask *framewor
194195 return ftask , fmt .Errorf ("TaskItem not be set to VideoCutTask" )
195196 }
196197 db := e .db
197- db = db .Debug ()
198198 sql := db .Model (& VideoCutTask {}).Where ("task_id = ? and status = ?" , task .TaskId , task .Status ).
199199 Update ("status" , framework .TASK_STATUS_STOPED )
200200 if sql .Error != nil {
@@ -334,33 +334,7 @@ func (e *videoCutSqlContainer) UpdateRunningTaskStatus(ctx context.Context,
334334// data 协议保持和 TaskActuator.GetOutput 一样, 一个 string 表示结果路径
335335func (e * videoCutSqlContainer ) SaveData (ctx context.Context , ftask * framework.Task ,
336336 data interface {}) (err error ) {
337- defer func () {
338- if err != nil {
339- log .Println ("SaveData:" , err )
340- }
341- }()
342337
343- task , ok := ftask .TaskItem .(VideoCutTask )
344- if ! ok {
345- return fmt .Errorf ("TaskItem not be set to VideoCutTask" )
346- }
347- db := e .db
348- outputVideo , ok := data .(string )
349- if ! ok {
350- return fmt .Errorf ("data not be set to string" )
351- }
352- sql := db .Model (& VideoCutTask {}).Where ("task_id = ?" , ftask .TaskId ).
353- Updates (map [string ]interface {}{
354- "output_video" : outputVideo ,
355- })
356- if sql .Error != nil {
357- return fmt .Errorf ("db update error: %v" , sql .Error )
358- }
359- if sql .RowsAffected == 0 {
360- return fmt .Errorf ("task %s not found, may status has been changed" , task .TaskId )
361- }
362- task .OutputVideo = outputVideo
363- ftask .TaskItem = task
364338 return nil
365339}
366340
@@ -409,3 +383,44 @@ func (e *videoCutSqlContainer) GetTask(ctx context.Context, taskId string) (
409383 }
410384 return & tempTask , nil
411385}
386+
387+ func (e videoCutSqlContainer ) DataPersistence (
388+ ctx context.Context , ftask * framework.Task , data interface {}) (err error ) {
389+ defer func () {
390+ if err != nil {
391+ log .Println ("SaveData:" , err )
392+ }
393+ }()
394+
395+ task , ok := ftask .TaskItem .(VideoCutTask )
396+ if ! ok {
397+ return fmt .Errorf ("TaskItem not be set to VideoCutTask" )
398+ }
399+ db := e .db
400+ outputVideo , ok := data .(string )
401+ if ! ok {
402+ return fmt .Errorf ("data not be set to string" )
403+ }
404+ sql := db .Model (& VideoCutTask {}).Where ("task_id = ?" , ftask .TaskId ).
405+ Updates (map [string ]interface {}{
406+ "output_video" : outputVideo ,
407+ })
408+ if sql .Error != nil {
409+ return fmt .Errorf ("db update error: %v" , sql .Error )
410+ }
411+ if sql .RowsAffected == 0 {
412+ return fmt .Errorf ("task %s not found, may status has been changed" , task .TaskId )
413+ }
414+ return nil
415+ }
416+
417+ // GetPersistenceData 查询任务持久化结果
418+ func (e videoCutSqlContainer ) GetPersistenceData (ctx context.Context , task * framework.Task ) (
419+ data interface {}, err error ) {
420+ return nil , nil
421+ }
422+
423+ // DeletePersistenceData 删除任务的此久化结果
424+ func (e videoCutSqlContainer ) DeletePersistenceData (ctx context.Context , task * framework.Task ) (err error ) {
425+ return nil
426+ }
0 commit comments