**位址 github.com/moceptweb/e… 看之前確定至少了解了egg的文件了, 不然看下面是浪費時間哈很多情況我們需要去定時(或者就一次)執行某些指令碼, 這個時候就可以利用egg的schedule功能了
啟動時候自定決定啟動哪些定時任務// 通過 schedule 屬性來設定定時任務的執行間隔等配置
static get schedule() ;
} async subscribe()
複製**
在get schedule() 中配置immediate:配置了該引數為 true 時,這個定時任務會在應用啟動並 ready 後立刻執行一次這個定時任務});
複製**
// helper.js 統一連線乙個sqlserver connection
const mssql = require('mssql')
let pool = await mssql.connect(config)
mssql.on('error', err => )
複製**
切忌不要在非同步中做同步操作, 不然執行順序很意外!!!
如果需要一步步獲取全部資料(這裡是同步)後才要進行全部非同步其他操作, 那麼需要先將同步操作封裝成promise支援非同步操作async updateuser(oauser) );
await promise.all(promiseall);
}複製**
async readline(target) )
}if(last)
})})
return file;
}// 使用
const filedata = await
this.readline(target);
let promiseall = ;
filedata.foreach(portal => );
await
promise.all(promiseall);
複製**
const res = await conn.query('update t_user set mail = ? where user_id = ?', [oauser.email, user.user_id]);
複製**
async sqlbegintransaction
() else
if(res.affectedrows > 1) else
} catch (err)
}複製**
統一封裝各種資料的連線和error資訊
單元測試說明
謹記更環境用的配置是不一樣的
單元測試用的是 config.unittest.jstodo 分析原始碼
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
egg定時和定點任務
egg提供了強大的定時任務系統。通過定時任務,可以系統修改服務的快取資料,以便處理需要定時更新的資料。一 定時任務 以定時更新cache資料為例 module.exports async task ctx 2 還可以設定單位如下 1ms 1毫秒 1s 1秒 1m 1分鐘 等。二 定點任務 以每週一的...
at定時任務
at的守護程序每60秒檢查一次作業佇列,有作業時檢查作業,時間恰好達到,則執行作業。前提 保證atd程序已經啟動,檢查atd程序是否啟動 ps ef grep atd。atd的命令格式 at 選項 時間 ctrl d 結束at命令的輸入。選項 m 任務完成後給使用者傳送郵件,沒有標準輸出。i atg...