lastRun()#
現在実行中のプロセスでタスクが最後に正常に完了した時刻を取得します。ウォッチャーの実行中に、後続のタスク実行で最も役立ちます。
src()と組み合わせると、前回のタスクの正常完了以降に変更されていないファイルをスキップすることで、実行時間を短縮するインクリメンタルビルドを実現できます。
使用方法#
シグネチャ#
パラメータ#
| パラメータ | 型 | 備考 |
|---|---|---|
| task (必須) | 関数 文字列 | タスク関数、または登録済みタスクの文字列エイリアス。 |
| precision | 数値 | デフォルト:Node v0.10では`1000`、Node v0.12+では`0`。詳細は以下のタイムスタンプの精度セクションを参照してください。 |
戻り値#
タスクの最後の完了時刻に一致するタイムスタンプ(ミリ秒単位)。タスクが実行されていないか、失敗した場合、`undefined`を返します。
無効な状態がキャッシュされるのを避けるため、タスクがエラーになった場合、戻り値は`undefined`になります。
エラー#
文字列または関数以外の値で呼び出された場合、「関数のみがlastRunを確認できます」というメッセージのエラーをスローします。
拡張不可能な関数で呼び出され、NodeにWeakMapがない場合、「拡張可能な関数のみがlastRunを確認できます」というメッセージのエラーをスローします。
タイムスタンプの精度#
タイムスタンプの精度は適切なデフォルト値が設定されていますが、`precision`パラメータを使用して丸めることができます。ファイルシステムまたはNodeのバージョンでファイル時間の属性の精度が低い場合に役立ちます。
- `lastRun(someTask)` は 1426000001111 を返します
- `lastRun(someTask, 100)` は 1426000001100 を返します
- `lastRun(someTask, 1000)` は 1426000001000 を返します
ファイルのmtime statの精度は、ノードのバージョンや使用されているファイルシステムによって異なる場合があります。
| プラットフォーム | precision |
|---|---|
| Node v0.10 | 1000ms |
| Node v0.12+ | 1ms |
| FAT32ファイルシステム | 2000ms |
| HFS+またはExt3ファイルシステム | 1000ms |
| Node v0.10を使用するNTFS | 1秒 |
| Node 0.12+を使用するNTFS | 100ms |
| Node v0.10を使用するExt4 | 1000ms |
| Node 0.12+を使用するExt4 | 1ms |