Source: cache/recache/index.js

  1. /**
  2. * @module recache
  3. */
  4. const cache = require("../");
  5. const courseService = require("../../course");
  6. const videoService = require("../../video");
  7. const log = require("../../../util/log");
  8. /**
  9. * Recache all objects: flush the cache and recache
  10. * all objects having updated all learning objects
  11. * from LinkedIn Learning API.
  12. * Used on a scheduled basis to keep content up to date.
  13. */
  14. const recacheAll = async () => {
  15. log.info("Attempting to recache all content..");
  16. try {
  17. cache.flush();
  18. await courseService.fetchAll();
  19. await videoService.fetchAll();
  20. await cache.updateAllFromAPI();
  21. } catch (error) {
  22. log.error("Failed to fetch content on start-up, err: " + error.message);
  23. }
  24. };
  25. module.exports = {
  26. recacheAll,
  27. };