What are the process type in Procfile supported by CloudFoundry?


Sze Siong Teo <szesiong@...>
 

Hi, it seems the CF only support 'web' process type as of now? I couldn't find much information about this in CF documentation

https://docs.cloudfoundry.org/buildpacks/prod-server.html#procfile

Tried worker and cron from some other sites and Heroku seems no difference?


Leandro David Cacciagioni
 

If you need to run cron tasks you have several alternatives like:

- https://docs.run.pivotal.io/marketplace/services/temporize.html
- https://github.com/18F/cg-cron
- https://github.com/18F/cf-go-cron

Look which of this fits better your reqs. For long running background
process what you can do is to change the default startup command (cf push
-c "your command" --health-check-type none | Be sure that you put
--health-check-type none to avoid tcp port check | for more info run: cf
push -h), or declare it in your deployment.yml (
https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html).
Let me know if you need any help.

Thanks,
Leandro.-

2017-04-05 15:22 GMT+02:00 Sze Siong Teo <szesiong(a)gmail.com>:

Hi, it seems the CF only support 'web' process type as of now? I couldn't
find much information about this in CF documentation

https://docs.cloudfoundry.org/buildpacks/prod-server.html#procfile

Tried worker and cron from some other sites and Heroku seems no difference?


Sze Siong Teo <szesiong@...>
 

Great, thanks a lot Leandro.


Zach Robinson
 

Support for Procfiles is currently being added to Cloud Foundry.

It is part of the V3 API, which are experimental at the moment, docs here: http://v3-apidocs.cloudfoundry.org/

You can follow progress towards V3 GA release in our tracker project here: https://www.pivotaltracker.com/story/show/135301677

-Zach


Sze Siong Teo <szesiong@...>
 

Hi Zach,

I saw this "Experimental - Applications consisting of several processes via a Procfile" but is this a worker process feature for web app to achieve multi-process backend?

What I'm looking for is to have CF support non-web long running process or cron jobs. Is that in the roadmap of CF development?

Thanks.


Zach Robinson
 

Yes, that is supported using the "--health-check-type none" option for cf
push that Leandro mentioned.

-Zach

On Thu, Apr 6, 2017 at 5:00 AM Sze Siong Teo <szesiong(a)gmail.com> wrote:

Hi Zach,

I saw this "Experimental - Applications consisting of several processes
via a Procfile" but is this a worker process feature for web app to achieve
multi-process backend?

What I'm looking for is to have CF support non-web long running process or
cron jobs. Is that in the roadmap of CF development?

Thanks.


Sze Siong Teo <szesiong@...>
 

Hi Zach, thanks for the feedback.

Nevertheless, using "--health-check-type none" option sounds like a bit of hackish workaround?

Is CF going to support monitoring for this kind of processes like conventional cron? Let's say if the invoked target process/script return a non-zero exit code and the stdout can be sent as notification via email or something similar?

My main concern is without health check, then we will be having zero visibility whether a job is executed properly or failed.

Thanks.


Dieu Cao <dcao@...>
 

--health-check-type none is misleading and the none value is deprecated in
favor of the type 'process'
The none/process health check types will check if the process is alive and
instance is restarted if the process dies.

From the cf push help

--health-check-type, -u Application health check type (Default:
'port', 'none' accepted for 'process', 'http' implies endpoint '/')

-Dieu

On Fri, Apr 7, 2017 at 12:10 AM, Sze Siong Teo <szesiong(a)gmail.com> wrote:

Hi Zach, thanks for the feedback.

Nevertheless, using "--health-check-type none" option sounds like a bit of
hackish workaround?

Is CF going to support monitoring for this kind of processes like
conventional cron? Let's say if the invoked target process/script return a
non-zero exit code and the stdout can be sent as notification via email or
something similar?

My main concern is without health check, then we will be having zero
visibility whether a job is executed properly or failed.

Thanks.


Sze Siong Teo <szesiong@...>
 

Thanks