Heroku. Должен ли я использовать веб- или рабочий процесс?

#node.js #heroku #https

#node.js #heroku #https

Вопрос:

Я очень новичок в использовании heroku, и я не знаю, когда использовать веб-процессоры или рабочие. Мой код выполняет http-запросы и архивирует downlaods с внешнего сайта. Что я хочу знать, должен ли он быть рабочим или веб-процессором

 const https = require('https');
const fs = require("fs");
const tiktok = require("tiktok-scraper");
var link

(async () => {
  try {
      const posts = await tiktok.user('doarda', { number: 100 });
      link = posts.collector[0].videoUrl
  

const optionsRequest = {
  headers: {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36",
    "Accept": "text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "pt-BR,en-US;q=0.7,en;q=0.3",
    "Accept-Encoding": "gzip, deflate, br",
    "Connection": "keep-alive",
    "Referer": 'https://www.tiktok.com/',
    "Upgrade-Insecure-Requests": "1"
    
  }
}


  const file = fs.createWriteStream(posts.collector[0].id  ".mp4");
  const request = await https.get(link,optionsRequest, function(response) {
  
  response.pipe(file)
});
} catch (error) {
  console.log(error);
}
})();

  

Ответ №1:

Вам нужен веб-динамик, если ваше приложение будет принимать (входящие) HTTP-запросы. При запуске он будет привязывать данный порт (переменная $PORT env), а URL-адрес будет выглядеть примерно так myapp.herokuapp.com

С другой стороны, рабочий процесс не требует подключения: обычно это внутренний процесс, который может выполнять некоторую логику. Обратите внимание, что вы все еще можете инициировать исходящее соединение от рабочего (т.Е. Подключиться к облачному сервису или веб-сайтам).

Также обратите внимание, что веб-процессы получают свои запросы через dyno Manager heroku, что означает, что ваш веб-процесс (на бесплатном уровне) будет запускаться только при наличии активных запросов

С другой стороны, рабочие процессы выполняются до тех пор, пока вы их не остановите (либо с помощью cli, либо с помощью веб-сайта)

Комментарии:

1. итак, я попытался развернуть этот код в heroku на веб-сервере, но он не может удалить файл.. Но файл, который я запускаю локально, правильно загружен