Chapter 18: Deployment on Heroku (v0.18)
This commit is contained in:
		
							parent
							
								
									cdc065001f
								
							
						
					
					
						commit
						1e44f0bb14
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					web: flask db upgrade; flask translate compile; gunicorn microblog:app
 | 
				
			||||||
| 
						 | 
					@ -63,15 +63,20 @@ def create_app(config_class=Config):
 | 
				
			||||||
            mail_handler.setLevel(logging.ERROR)
 | 
					            mail_handler.setLevel(logging.ERROR)
 | 
				
			||||||
            app.logger.addHandler(mail_handler)
 | 
					            app.logger.addHandler(mail_handler)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not os.path.exists('logs'):
 | 
					        if app.config['LOG_TO_STDOUT']:
 | 
				
			||||||
            os.mkdir('logs')
 | 
					            stream_handler = logging.StreamHandler()
 | 
				
			||||||
        file_handler = RotatingFileHandler('logs/microblog.log',
 | 
					            stream_handler.setLevel(logging.INFO)
 | 
				
			||||||
                                           maxBytes=10240, backupCount=10)
 | 
					            app.logger.addHandler(stream_handler)
 | 
				
			||||||
        file_handler.setFormatter(logging.Formatter(
 | 
					        else:
 | 
				
			||||||
            '%(asctime)s %(levelname)s: %(message)s '
 | 
					            if not os.path.exists('logs'):
 | 
				
			||||||
            '[in %(pathname)s:%(lineno)d]'))
 | 
					                os.mkdir('logs')
 | 
				
			||||||
        file_handler.setLevel(logging.INFO)
 | 
					            file_handler = RotatingFileHandler('logs/microblog.log',
 | 
				
			||||||
        app.logger.addHandler(file_handler)
 | 
					                                               maxBytes=10240, backupCount=10)
 | 
				
			||||||
 | 
					            file_handler.setFormatter(logging.Formatter(
 | 
				
			||||||
 | 
					                '%(asctime)s %(levelname)s: %(message)s '
 | 
				
			||||||
 | 
					                '[in %(pathname)s:%(lineno)d]'))
 | 
				
			||||||
 | 
					            file_handler.setLevel(logging.INFO)
 | 
				
			||||||
 | 
					            app.logger.addHandler(file_handler)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        app.logger.setLevel(logging.INFO)
 | 
					        app.logger.setLevel(logging.INFO)
 | 
				
			||||||
        app.logger.info('Microblog startup')
 | 
					        app.logger.info('Microblog startup')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,7 @@ class Config(object):
 | 
				
			||||||
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
 | 
					    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
 | 
				
			||||||
        'sqlite:///' + os.path.join(basedir, 'app.db')
 | 
					        'sqlite:///' + os.path.join(basedir, 'app.db')
 | 
				
			||||||
    SQLALCHEMY_TRACK_MODIFICATIONS = False
 | 
					    SQLALCHEMY_TRACK_MODIFICATIONS = False
 | 
				
			||||||
 | 
					    LOG_TO_STDOUT = os.environ.get('LOG_TO_STDOUT')
 | 
				
			||||||
    MAIL_SERVER = os.environ.get('MAIL_SERVER')
 | 
					    MAIL_SERVER = os.environ.get('MAIL_SERVER')
 | 
				
			||||||
    MAIL_PORT = int(os.environ.get('MAIL_PORT') or 25)
 | 
					    MAIL_PORT = int(os.environ.get('MAIL_PORT') or 25)
 | 
				
			||||||
    MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS') is not None
 | 
					    MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS') is not None
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,3 +33,7 @@ urllib3==1.22
 | 
				
			||||||
visitor==0.1.3
 | 
					visitor==0.1.3
 | 
				
			||||||
Werkzeug==0.14.1
 | 
					Werkzeug==0.14.1
 | 
				
			||||||
WTForms==2.1
 | 
					WTForms==2.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# requirements for Heroku
 | 
				
			||||||
 | 
					psycopg2==2.7.3.1
 | 
				
			||||||
 | 
					gunicorn==19.7.1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue