Hi Mandeep - I think that “long running” is relative in context of OpenWhisk, meaning a container will remain running (or paused, but NOT removed) if there is at least 1 activation routed to it within a 10 minute timeout. This is different than a web server, for example, where the container would typically remain running continually regardless of whether there are requests.
This does NOT mean that it will not be removed ever (if it becomes idle, no activations being processed), or that it will be started without having activations present (e.g. the first activation will incur the latency required for initing the container). There also is a separate notion of “prewarm" containers, where the container is started, but NOT initialized with a specific action - this is currently done for "node:js” action kind containers only, but could be made configurable without much work. Containers will still incur initialization cost (installing code for the specific action) on first use, but the container will already be in a started state. On Sep 5, 2017, at 11:31 PM, mandeep gandhi <[email protected]<mailto:[email protected]>> wrote: that should still be possible without needing excessive container recreates. Did you mean to use warm container support or to envision these containers as long running processes? On Wed, Sep 6, 2017 at 11:50 AM, Markus Thömmes <[email protected]<mailto:[email protected]>> wrote: Hi, that should still be possible without needing excessive container recreates. Do you see anything blocking your use-case? Am 06. September 2017 um 08:17 schrieb mandeep gandhi < [email protected]<mailto:[email protected]>>: Hi Markus, Actually, I am trying to orchestrate a workflow via open-whisk which would involve a request payload passing through a sequence of actions. So I have a mixed bag of heterogeneous micro services I want to mimic as actions. I had already gone through your blog earlier. On Wed, Sep 6, 2017 at 11:27 AM, Markus Thömmes <[email protected]<mailto:[email protected]>> wrote: Hi Mandeep, OpenWhisk relies on container reuse (i.e. using warm containers) heavily to reach its performance goals. Currently, containers are kept around for a maximum of 10 minutes if they are not replaced by the need of some other container. You can refer to this article written by me (shameless self-advertisement) to get some insights into how our container caching works: https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmedium.com%2Fopenwhisk%2Fsqueezing-the-milliseconds-how-to-make-&data=02%7C01%7C%7Ce89789d7d45b4339333108d4f4f0f921%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636402763201011913&sdata=sreyG1oog91mQS95GgE9oEzrLJlUDpc8Fv%2BkVfjjgyA%3D&reserved=0 serverless-platforms-blazing-fast-aea0e9951bd0 You can refer to the relevant source code here: - https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fincubator-openwhisk%2Fblob%2F&data=02%7C01%7C%7Ce89789d7d45b4339333108d4f4f0f921%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636402763201168168&sdata=umoCHgWui%2BP6ZWcqt5x1ppujQqRArduVZ4y%2BRx2lJZk%3D&reserved=0 master/core/invoker/src/main/scala/whisk/core/ containerpool/ContainerProxy.scala - https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fincubator-openwhisk%2Fblob%2F&data=02%7C01%7C%7Ce89789d7d45b4339333108d4f4f0f921%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636402763201168168&sdata=umoCHgWui%2BP6ZWcqt5x1ppujQqRArduVZ4y%2BRx2lJZk%3D&reserved=0 master/core/invoker/src/main/scala/whisk/core/containerpool/ContainerPool. scala Anything more you can think of for your use-case? Cheers, Markus Am 06. September 2017 um 07:50 schrieb mandeep gandhi < [email protected]<mailto:[email protected]>>: Hi, I was looking for the support of warm containers for JVM and Python based containers. I have a use case where I want to run some scala/java micro services and some TensorFlow containers for my workflow. Now as these containers would take some seconds to get up, I would like to know - a. What is the current status for the same? b. How can we contribute to it if the support is missing? Thanks, Mandeep Gandhi
