2017-11-27 7 views
0

Google App Engineの標準環境からKubernetes(GKE)に移行しました。標準環境では、Task queues を使用して、待ち時間を短縮するためにバックグラウンドでタスクを実行しました。私はKubernetesで同じことをしたいのですが、クーベルネットでタスクキューが利用できないので、これをどのように達成できますか?Kubernetesのバックグラウンドタスク

私が考えることのできる解決策の1つはスレッドを使用することですが、スレッディングはGoogleのクラウドには知らされません。私はまた、メッセージキューとKubernetes Executorについて聞いたことがありますが、私はバックグラウンドタスクを達成するための方法を教えてくれる良いリソースを手に入れているようです。

私はこれと私が読むことができるリソースに関する提案が必要です。

+0

このリンクを使用していますか? https://cloud.google.com/pubsub/docs/overview – DaveH

+0

私はGKEのエキスパートではありませんが、「スレッドにはGoogleのクラウドにはアドバイスされていません」と驚いています。あなたにはその源がありますか? GKEで仮想マシンをレンタルし、ポッド/コンテナを実行すると、そのようなコンテナにスレッドを使用しない理由はありません。 –

+0

@MarcSluiter大変ありがとうございます。これが私の解決策の鍵であることが判明しました。 – Ogbe

答えて

0

私は少しの研究と相談の結果、以下の知見を得て、私が質問で提示した誤解を訂正したいと思います。

  1. Googleクラウドでのスレッド化は推奨されていません。このステートメントは、スレッドを作成したリクエストの外側にスレッドが存在しないGoogleアプリエンジン標準環境でのみ有効です。したがって、3分間実行してスレッドに配置するタスクがある場合、要求が60秒の制限で切断された後、スレッドはシャットダウンします。これが、タスクキューとPub SubがGoogle App Engineでアドバイスされる理由です。しかし、KubernetesとGoogle App Engine Flexible Environmentでは、この原則は成立せず、したがってスレッドを使用することができます。

私の問題を解決するために、私はちょうど実行者サービスで管理されたJavaスレッディングを使用しました。

関連する問題