Heroku 프리 티어에서 Puppeteer 실행

Heroku는 내 앱을 호스팅하는 데 가장 좋아하는 클라우드 플랫폼입니다.
Covid-19 기간 동안 저는 멋진 자동화 기능을 만들고(다른 게시물을 작성 중입니다) 무료로 실행할 수 있는 곳을 찾고 있었습니다.

예를 들어 Wolt에서 레스토랑이 열리면 알려주세요.

그래서 내 요구 사항은 다음과 같습니다.
  • 달리는 인형극
  • 예약된 작업을 쉽게 생성할 수 있음
  • 간편한 배포
  • 무료

  • 나는 Heroku에 대한 경험이 있으므로 이것이 나의 첫 번째 선택이었습니다.
    free tier은 월 500시간 이상을 제공합니다.

    이미 Heroku에 통합된 내 GitHub 저장소와 쉽게 동기화할 수 있습니다.

    예약된 작업 - 예약된 시간에 명령을 실행할 수 있는 - Heroku Scheduler이라는 간단한 애드온이 있습니다. 매우 사용하기 쉽고 인스턴스 자체의 추가 런타임이 필요하지 않습니다(그래서 우리는 여전히 프리 티어에 있습니다).

    저에게 가장 큰 문제는 Heroku에서 인형극을 실행하기 위한 올바른 구성을 찾는 것이었습니다.
    BTW, 아직 모르는 경우puppeteer. Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol.
    실행 방법을 살펴보았지만 나에게 맞는 구성을 찾을 수 없었습니다...

    그래서 이것은 내 구성입니다(반드시 이상적이지는 않지만 작동합니다)

    빌드팩:
  • https://github.com/jontewks/puppeteer-heroku-buildpack
  • heroku/nodejs


  • JS 코드

    const chromeOptions = {
        headless: true,
        defaultViewport: null,
        args: [
            "--incognito",
            "--no-sandbox",
            "--single-process",
            "--no-zygote"
        ],
    };
    const browser = await puppeteer.launch(chromeOptions);
    const page = await browser.newPage();
    


    puppeteer를 시작할 때 다음 플래그를 사용하십시오.
  • "--시크릿",
  • "--샌드박스 없음",
  • "--단일 프로세스",
  • "--노-접합체"

  • 그것에 대해 더 많이 읽으십시오 ...

    나는 그것이 당신의 문제를 해결하기를 바랍니다 :)
    행운을 빕니다

    좋은 웹페이지 즐겨찾기