queues.js 841 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const Queue = require("bull");
  2. const path = require("node:path");
  3. const env = require("../env");
  4. const redis = {
  5. port: env.REDIS_PORT,
  6. host: env.REDIS_HOST,
  7. db: env.REDIS_DB,
  8. ...(env.REDIS_PASSWORD && { password: env.REDIS_PASSWORD })
  9. };
  10. let visit;
  11. if (env.REDIS_ENABLED) {
  12. visit = new Queue("visit", { redis });
  13. visit.clean(5000, "completed");
  14. visit.process(6, path.resolve(__dirname, "visit.js"));
  15. visit.on("completed", job => job.remove());
  16. // TODO: handler error
  17. // visit.on("error", function (error) {
  18. // console.log("error");
  19. // });
  20. } else {
  21. const visitProcessor = require(path.resolve(__dirname, "visit.js"));
  22. visit = {
  23. add(data) {
  24. visitProcessor({ data }).catch(function(error) {
  25. console.error("Add visit error: ", error);
  26. });
  27. }
  28. }
  29. }
  30. module.exports = {
  31. visit,
  32. }