Question

When following the basic setup example for a perl service on dotcloud ("ramen app example") I keep getting a "uWSGI error Perl application not found" when I do a "dotcloud push" and then "dotcloud open" on the dotcloud CLI. It seems that the code push is successful with newly generated URL's but I keep getting the error when I open the URL. This is my first time deploying a perl Dancer application. Any thoughts on how to resolve this? Thanks.

The steps I took on linux terminal:

1. Environment Setup

mkdir ramen-on-dotcloud
cd ramen-on-dotcloud
dotcloud create ramen


2. Created build file "dotcloud.yml "
and placed it on top root "ramen-on-dotcloud"

www:
  type: perl
  approot: helloperl
  requirements:
    - App::cpanminus

3. Generated a sample PSGI application (perl Dancer)

cpanm Dancer
cd ramen-on-dotcloud
dancer -a helloperl
echo "require 'bin/app.pl';" > helloperl/app.psgi


4. Add support for PSGI application by editing makefile.pl and adding Plack in the dependencis.

PREREQ_PM => {
    'Test::More'  =>  0,
    'YAML'        =>  0,
    'Dancer'      =>  1.3113,
    'Plack'       =>  0,
},


5. Push application to dotcloud

dotcloud push


6. At this point the code is pushed successfully so I open generated URL's

dotcloud open


Then I get this error...

uWSGI Error

Perl application not found

Any suggestions? Thanks!

Was it helpful?

Solution

Running Step#3 generates the files required for a Dancer project on the fly. I wonder if it might be this step that's causing the problem you're seeing. It might be related to how cpanm Dancer is installed locally.

I've run all the steps and uploaded the working project here: https://github.com/johncosta/example-dancer-on-dotcloud

git clone https://github.com/johncosta/example-dancer-on-dotcloud
dotcloud create dancer
dotcloud push dancer

Does this yield better results?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top