|
| 1 | +require("dotenv").config(); |
| 2 | + |
1 | 3 | const cheerio = require("cheerio"); |
2 | 4 | const unirest = require("unirest"); |
| 5 | +const cron = require("node-cron"); |
3 | 6 | const fs = require("fs"); |
4 | 7 | const PDFDocument = require("pdfkit"); |
5 | 8 |
|
| 9 | +const LOCAL_PATH = process.env.LOCAL_PATH; |
| 10 | + |
6 | 11 | const getJobsData = async () => { |
7 | 12 | try { |
8 | 13 | const url = |
@@ -53,12 +58,10 @@ const getJobsData = async () => { |
53 | 58 | // create PDF file |
54 | 59 | const doc = new PDFDocument(); |
55 | 60 |
|
56 | | - const file_Name = "dailyJobScraper.pdf"; |
57 | | - const file_Path = "../../../web-scraper-test-2/"; |
58 | | - |
59 | | - // path.resolve('joe.txt'); // '/Users/joe/joe.txt' if run from my home folder |
| 61 | + const file_Name = `dailyJobScraper-${new Date().getTime()}.pdf`; |
| 62 | + const file_Path = LOCAL_PATH; |
60 | 63 |
|
61 | | - // clean file name to elimiate colons, spaces & commas in the file name |
| 64 | + // sanitize file name |
62 | 65 | const full_FileName = (file_Path + file_Name) |
63 | 66 | .replace(/:/g, "-") |
64 | 67 | .replace(/,/g, "-") |
@@ -102,8 +105,20 @@ const getJobsData = async () => { |
102 | 105 | }); |
103 | 106 |
|
104 | 107 | doc.end(); |
| 108 | + console.log( |
| 109 | + "\nPDF file created successfully! Saved to designated path for emailer app.\n" |
| 110 | + ); |
105 | 111 | } catch (e) { |
106 | 112 | console.log("ERROR:", e); |
107 | 113 | } |
108 | 114 | }; |
109 | 115 | getJobsData(); |
| 116 | + |
| 117 | +// ======================================================== \\ |
| 118 | +// ================== CRON SCHEDULER ====================== || |
| 119 | +// ======================================================== // |
| 120 | + |
| 121 | +cron.schedule("0 8 * * *", getJobsData, { |
| 122 | + scheduled: true, |
| 123 | + timezone: "America/Chicago", |
| 124 | +}); |
0 commit comments