Please configure gunicorn to find the bulb app. I assume that the application name is defined inside create_function (), hides the application from run.py; however, I do not know how to fix it. Here is the error when starting guns with expression:
1 (venv) MacPro:11a toshio$ gunicorn run:app 2 [2015-12-27 15:10:45 +0900] [83437] [INFO] Starting gunicorn 19.4.1 3 [2015-12-27 15:10:45 +0900] [83437] [INFO] Listening at: http://127.0.0.1:8000 (83437) 4 [2015-12-27 15:10:45 +0900] [83437] [INFO] Using worker: sync 5 [2015-12-27 15:10:45 +0900] [83440] [INFO] Booting worker with pid: 83440 6 Failed to find application: 'run' 7 [2015-12-27 15:10:51 +0900] [83440] [INFO] Worker exiting (pid: 83440) 8 [2015-12-27 15:10:52 +0900] [83437] [INFO] Shutting down: Master 9 [2015-12-27 15:10:52 +0900] [83437] [INFO] Reason: App failed to load. 10 (venv) MacPro:11a toshio$
The structure of the application is as follows:
1 ├── app 2 │ ├── __init__.py 3 │ ├── main 4 │ │ ├── __init__.py 5 │ │ ├── forms.py 6 │ │ └── routes.py 7 │ ├── models.py 8 │ ├── static 9 │ │ ├── js 10 │ │ ├── css 11 │ │ ├── pdf 12 │ └── templates 13 │ ├── base.html 14 │ ├── index.html 15 │ ├── login.html 16 ├── config 17 │ └── development.py 18 ├── data-dev.sqlite3 19 ├── run.py
Package Designer app / __ init __. py code:
1 import os 2 import subprocess 3 import imghdr 4 from datetime import datetime 5 from flask import Flask, render_template, session, g, redirect, url_for, request 6 from flask.ext.script import Manager 7 from flask.ext.wtf import Form 8 from flask.ext.bootstrap import Bootstrap 9 from wtforms import StringField, SubmitField, ValidationError, PasswordField, BooleanField 10 from wtforms.validators import Required, Length 11 from werkzeug import secure_filename 12 from werkzeug.security import generate_password_hash, check_password_hash 13 from flask_wtf.file import FileField 14 from flask.ext.sqlalchemy import SQLAlchemy 15 from flask.ext.migrate import Migrate, MigrateCommand 16 from flask.ext.login import LoginManager, UserMixin, login_user, logout_user, login_required 18 bootstrap = Bootstrap() 19 db = SQLAlchemy() 20 lm = LoginManager() 21 lm.login_view = 'main.login' 22 23 def create_app(config_name): 24 """ Create an application instance """ 25 app = Flask(__name__, static_folder = 'static') 26 27
Finally, run.py looks like this:
1 #!/usr/bin/env python 2 from app import create_app, db 3 from app.models import User, Book 4 5 6 if __name__ == '__main__': 7 app = create_app('development') 8 with app.app_context(): 9 db.create_all() 10 if User.query.filter_by(username='somebody').first() is None: 11 User.register('somebody', 'abc') 12 app.run()