2017-12-17 9 views

答えて

0

セットアップでき、ヘッドレスブラウザなどPhantomJSが、それは以降のラムダとの効果的な簡単で、コストではありません、

  • が上で動作するバイナリのコンパイル済みのセットを見つける必要がありますAmazon Linux(Lambdaが動作する)
  • 各実行時にバイナリをロードする必要があり、ラムダ関数の開始にオーバーヘッドが加わり、また請求時間が長くなります。

このためにEC2インスタンスを実行することをおすすめします。ナノインスタンスやドッカーのコンテナでさえも大丈夫です。

+0

* "実行ごとにバイナリをロードする必要があります" *なぜですか?それを起動して 'context.callbackWaitsForEmptyEventLoop = false'を実行したままにしておき、それをトリガしてコンテナの後続の呼び出しごとに新しいページに移動できますか?それとも、これを防ぐPhantomJSの設計について何かありますか?ラムダ環境の祖先AMIを使用して、Amazon Linux用のバイナリをコンパイルすることができます。これは非常に難しく、扱いにくいですか? (注、下線は正当でないと思われ、私のものではありません。) –

+0

こんにちは@Michael。 Webページの画像スナップショットにPhantomJSを使用し、LambdaとDockerの評価を行いました。バイナリの読み込みに関する私のポイントは、PhanthomJSのバイナリは、寒いスタートを遅くするラムダのために十分な大きさであり、ラムダのコストを追加するメモリを割り当てる必要があることも経験しました。私の主張は、EC2インスタンスまたはドッキング・コンテナ(長時間実行)を使用していることが、これに対してより効率的になる可能性があります。 – Ashan

+0

バイナリに加えて、コンパイルするか、適切なものを探す必要があります。これは数年前には難しかったが、現在はより多くのサポートが利用可能であることを願っている。 context.callbackWaitsForEmptyEventLoopをfalseに設定しようとしましたか?それがうまくいくと面白いようです。 – Ashan

関連する問題