UNPKG

tcdown

Version:

Downloader and scraper for teachable.com for members

98 lines (89 loc) 3.99 kB
const { Worker } = require('worker_threads') const Promise = require('bluebird') const { formatBytes } = require('./writeWaitingInfo') const logger = require('./logger') function download (n) { return new Promise((resolve, reject) => { const start = Date.now() const worker = new Worker('/Users/muhameddidovic/projects/tcdown/lib/helpers/worker.js') worker.on('message', message => { console.log('message', message) console.log(`worker [${worker.threadId}]: done in ${Date.now() - start} ms`) if (message.startsWith('-done-')) { console.log('------->end:', message) resolve(message) worker.terminate() } }) worker.on('error', error => { reject(error) }) const { url, dest, localSizeInBytes, remoteSizeInBytes, downFolder, index, logger, ms, resourceUrl } = n worker.postMessage({ url, dest, localSizeInBytes, remoteSizeInBytes, downFolder, index, logger, ms, resourceUrl }) }) } async function calculateFibonacciNumbers (n) { try { // await fibonacci(n) // const values = Promise.all([ // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n), // fibonacci(n) // ]) ; Promise.all([ download({ // url : 'https://177vod-adaptive.akamaized.net/exp=1694992599~acl=%2Fe7f2ead1-c95b-40b6-806c-94cc8e86d0a0%2F%2A~hmac=b71db9266b63e48b724e91abe517845d1585ab345355836b0bfa5320d9afa0d5/e7f2ead1-c95b-40b6-806c-94cc8e86d0a0/parcel/video/ef8e8600.mp4?range=0-111111111111', url : 'https://vod-akm.play.hotmart.com/video/5Z13n2wvqX/hls/master-t-1654554383001.m3u8?hdnts=st%3D1694990022%7Eexp%3D1694990522%7Ehmac%3D3e87087e10708bc9bb973295f28c2774e129c66dab29bbe1aff039b62283fb0e&app=aa2d356b-e2f0-45e8-9725-e0efc7b5d29c', dest : 'videos/aaaa/1111.mp4', localSizeInBytes : '11.16 MB', remoteSizeInBytes: '1.73 KB', downFolder : 'videos/aa', index : 1, resourceUrl : 'https://members.codewithmosh.com/courses/1779784/lectures/40255354' }), download({ url : 'https://177vod-adaptive.akamaized.net/exp=1694992599~acl=%2Fe7f2ead1-c95b-40b6-806c-94cc8e86d0a0%2F%2A~hmac=b71db9266b63e48b724e91abe517845d1585ab345355836b0bfa5320d9afa0d5/e7f2ead1-c95b-40b6-806c-94cc8e86d0a0/parcel/video/ef8e8600.mp4?range=0-111111111111', // url : 'https://vod-akm.play.hotmart.com/video/5Z13n2wvqX/hls/master-t-1654554383001.m3u8?hdnts=st%3D1694990022%7Eexp%3D1694990522%7Ehmac%3D3e87087e10708bc9bb973295f28c2774e129c66dab29bbe1aff039b62283fb0e&app=aa2d356b-e2f0-45e8-9725-e0efc7b5d29c', dest : 'videos/aaaa/2222.mp4', localSizeInBytes : '11.16 MB', remoteSizeInBytes: '1.73 KB', downFolder : 'videos/aa', index : 2, resourceUrl : 'https://members.codewithmosh.com/courses/1779784/lectures/40255355' })]).then(values => { console.log('values', values) }) console.log(`Fibonacci(${n})`) } catch (error) { console.error('Error occurred while calculating Fibonacci:', error) } } const number = 10 calculateFibonacciNumbers(number)