[关闭]
@tianqing123 2017-06-19T13:48:55.000000Z 字数 1046 阅读 930

定时更新资源任务

离线大屏


触发定时任务创建

APP通知:资源包更新成功时

创建定时任务

执行定时任务

APP通知:有任务满足执行条件

  1. 如果是广告分类,强制刷新页面
  2. 如果是系统分类,执行具体操作
  1. // 获取cron
  2. // data:[{"id":1,"index":"","cronList":[{"begin":"","end":""}],"startTime":"","endTime":"","createtime":""}]
  3. function getCronList(data){
  4. result = []; // 处理结果
  5. if(data不为空){
  6. data.each(d){
  7. item = {id:d.id,data:[]};
  8. d.cronList.each(dd){
  9. item.data.push(dd.begin);
  10. item.data.push(dd.end);
  11. }
  12. result.push(item)
  13. }
  14. }
  15. return result;
  16. }
  17. // 运行定时任务
  18. function runSchedule(updateResult){
  19. if(updateResult.type == 'corn'){ // 更新类型是定时任务
  20. for(文件名 in updateResult.data){
  21. var fileData = readContent(文件名); // 获取文件数据
  22. var cronList = getCronList(fileData);// 获取cron 集合
  23. cronList.each(d){
  24. tsDriver('createSchedule',{ // 创建定时任务
  25. type:'cron',
  26. biz:updateResult.type,
  27. code:d.id,
  28. params:d.data,
  29. callbackFn:function(result){
  30. handleSchedule(result)
  31. }
  32. });
  33. }
  34. }
  35. }
  36. }
  37. // 处理定时任务
  38. // result:{code:'',biz:'',extend:''}
  39. function handleSchedule(result){
  40. switch(biz){
  41. case 'adv':
  42. // 强制刷新指定页面
  43. break;
  44. case 'sys':
  45. break;
  46. default:
  47. break;
  48. }
  49. }
  50. if(app通知资源包更新结束){
  51. 获取更新结果 updateResult = {type:'更新类型'data:'更新列表'}
  52. runSchedule(updateResult);
  53. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注