引用自:https://www.cnblogs.com/rongtangzi/p/6623122.html

#!/bin/env python
# _*_coding:utf-8_*_
#!!!!!!!!!!!!describe:this script shoud install python-devel and pip install MySQL-python
import subprocess
import traceback
import sys
from flask import Flask
from flask import request
import threading
import MySQLdb
from datetime import datetime
import time app = Flask(__name__) def mysqlCmd(version,subversion,sid,event_type,extra_info):
if subversion:
subversion = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(subversion) / 1000)) event_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
event_time = str(event_time).replace("\"", "").replace("\'","")
conn=MySQLdb.connect(host='fof2.0.mysql.com',port=3306,db='py_crontab',user='py_fof',passwd='8Lakw26x',charset='utf8')
cs1=conn.cursor()
cs1.execute( '''insert into py_script_result_log(version,subversion,sid,event_type,extra_info,event_time)
values(%s,%s,%s,%s,%s,%s)''',(version,subversion,sid,event_type,extra_info,event_time))
conn.commit()
cs1.close()
conn.close() def runCmd(cmd):
res = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
sout,serr = res.communicate()
#print (sout,serr)
#return res.returncode, sout, serr, res.pid
return sout, serr def main(script,version,subversion,sid,event_type,extra_info=None):
mysqlCmd(version, subversion, sid, event_type, extra_info)
sout, serr = runCmd(script)
if len(serr.strip()) != 0:
event_type = 3
serr = str(serr).replace("\"", "").replace("\'","")
extra_info = "%s"%(serr)
mysqlCmd(version,subversion,sid,event_type,extra_info)
else:
event_type = 2
mysqlCmd(version,subversion,sid,event_type,extra_info) @app.route('/py_fof_2_1.py_fof_fund_company_detail_daily_2_1.sh',methods={"POST","GET"})
def index1():
script = 'sh py_fof_2_1.py_fof_fund_company_detail_daily_2_1.sh'
#获取变量
version = request.values.get("version")
try:
subversion = request.values.get("subversion")
except:
subversion = None
sid = request.values.get("sid")
res = program_start(script, version, subversion, sid)
return res @app.route('/py_fof_fund_manager_detail_daily_2_1.sh',methods={"POST","GET"})
def index2():
script = 'sh py_fof_fund_manager_detail_daily_2_1.sh'
version = request.values.get("version")
try:
subversion = request.values.get("subversion")
except:
subversion = None
sid = request.values.get("sid")
res = program_start(script, version, subversion, sid)
return res @app.route('/py_fof_monetary_funds_details_daily_2_1.sh',methods={"POST","GET"})
def index3():
script = 'sh py_fof_monetary_funds_details_daily_2_1.sh'
version = request.values.get("version")
try:
subversion = request.values.get("subversion")
except:
subversion = None
sid = request.values.get("sid")
res = program_start(script, version, subversion, sid)
return res
@app.route('/py_fof_non_monetary_funds_details_daily_2_1.sh',methods={"POST","GET"})
def index4():
script = 'sh py_fof_non_monetary_funds_details_daily_2_1.sh'
version = request.values.get("version")
try:
subversion = request.values.get("subversion")
except:
subversion = None
sid = request.values.get("sid")
res = program_start(script, version, subversion, sid)
return res def program_start(script, version, subversion, sid ):
event_type = 1
t = threading.Thread(target=main, args=(script, version, subversion, sid, event_type))
t.start()
return '<h3> execute success </h3>' if __name__ == '__main__':
try:
host = sys.argv[1]
port = int(sys.argv[2])
except BaseException:
print 'argv error,exit - {0}'.format(traceback.format_exc())
sys.exit(1)
app.run(host=host,port=port,debug=True)

Flask 环境搭建的更多相关文章

  1. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  2. windows下的python flask环境搭建

    在Windows中搭建flask框架分为如下几步 1. 下载ez_setup.py文件,然后在cmd中执行 链接:http://pan.baidu.com/s/1qXOSeHu 密码:jkbw pyt ...

  3. 【selenium+python】之Python Flask 开发环境搭建(Windows)

    一.先安装python以及pip 二.其次, Python的虚拟环境安装: 在github上下载https://github.com/pypa/virtualenv/tree/master  zip文 ...

  4. 基于Flask框架搭建视频网站的学习日志(一)

    ------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...

  5. Ubuntu下nginx+uwsgi+flask的执行环境搭建

    选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...

  6. python服务器环境搭建Flask,uwsgi和nginx

    python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置  [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了. ...

  7. Flask框架的学习与实战(一):开发环境搭建

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2.很多功能的实现都参考了django框架.由于项目需要,在 ...

  8. flask 开发环境搭建

    window下: 1)安装python 2)安装pip 3)使用pip install flask 如果成功安装使用pip list 既可以查看到flask的版本 ubuntu下的环境搭建 同样地使用 ...

  9. 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘

    一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...

随机推荐

  1. script标签中type为"text/x-template"或"text/html"

    写过一点前端的都会碰到需要使用JS字符串拼接HTML元素然后append到页面DOM树上的情况,一般的写法都是使用+号以字符串的形式拼接,如果是短点的还好,如果很长很长的话就会拼接到令人崩溃了. 比如 ...

  2. SSH开发环境搭建

    断断续续学习hibernate也有一段时间了,在这里研究一下SSH开发环境的搭建过程,自己简单的搭建一个SSH的开发环境.采用maven搭建. 0.项目结构: 1.导包:(maven项目) pom.x ...

  3. 【黑客免杀攻防】读书笔记5 - PE格式讲解

    0x01 MS-DOS头 MS-DOS头部的字段重点关注e_magic与最后一个e_lfanew是需要关注的. 第一个e_magic字段的值为4D5A,作用是可以作为判断这个文件是否是PE文件. 最后 ...

  4. caffe源码阅读(1)_整体框架和简介(摘录)

    原文链接:https://www.zhihu.com/question/27982282 1.Caffe代码层次.回答里面有人说熟悉Blob,Layer,Net,Solver这样的几大类,我比较赞同. ...

  5. UML和模式应用5:细化阶段(9)---迈向对象设计

    1.前言 开发者如何设计对象,可以采用如下三种方式: 编码:在编码的同时进行设计 绘图然后编码:绘制一些UML,然后转到如上编码方式,在集成开发环境中编码 只绘图,不编码:使用工具从图中生成一切 本章 ...

  6. TortoiseSVN常用配置

    在Windows下推荐使用乌龟(Tortoise)SVN客户端. TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录. 文件保存在中央版本 ...

  7. windows下设置计划任务自动执行PHP脚本

    背景: 环境部署在linux下或者windows中,可以使用windows的自动任务设置自动执行脚本执行一些日常运维任务 图形界面设置相对比较简单 准备工作: wamp(集成的PHP执行环境) 已经写 ...

  8. Android JAR包、Library项目

    [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目 (1)项目导入JAR包:1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面.2. ...

  9. Go语言规格说明书 之 接口类型(Interface types)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的  ...

  10. JS的浅拷贝与深拷贝

    浅拷贝 //这样的拷贝有一个问题.那就是,如果父对象的属性等于数组或另一个对象,//那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能. function exten ...