ForgeTotal.js 5
de

Total.js 5

Langsame Ergebnisse mit FILECACHE auf der Festplatte zwischenspeichern

Total.js 5 · total5@0.0.19 cacheperformancefiles Mit Total.js 5 ausgeführt

FILECACHE(id, expiration, callback, maker) sucht eine Cache-Datei für id. Existiert sie und ist jünger als expiration (ein Text wie '1 minute'), erhält der Callback ihren Inhalt; andernfalls ruft es maker(done) auf, um den Wert zu berechnen, speichert ihn und gibt ihn zurück. Das Ergebnis wird als JSON serialisiert. Anders als CACHE übersteht es Neustarts und eignet sich für große Ergebnisse.

controllers/report.js
exports.install = function() {
	ROUTE('GET /report/', report);
};

var computed = 0;

function report($) {

	FILECACHE('monthly-report', '1 minute', function(err, response) {
		$.json({ report: response, computed: computed });
	}, function(done) {
		// The expensive work goes here
		computed++;
		done(null, { total: 42, generated: computed });
	});
}