Commit 8599651f authored by 张鹏程's avatar 张鹏程

部署jenkines

parent 9cacd11a
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import aiohttp\n",
"import asyncio\n",
"\n",
"async def get_status(url, id):\n",
" print(url,id)\n",
"\n",
"tasks = []\n",
"for i in range(10):\n",
" tasks.append(asyncio.ensure_future(get_status('http://www.baidu.com', id=i)))\n",
"\n",
"\n",
"if __name__ == '__main__':\n",
" loop = asyncio.get_event_loop()\n",
" loop.run_until_complete(asyncio.wait(tasks))\n",
" loop.close()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
}
],
"source": [
"print('3')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"ename": "ImportError",
"evalue": "cannot import name 'Octopus'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-5-6d170a9037c2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpprint\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpprint\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0moctopus\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mOctopus\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcreate_request\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mImportError\u001b[0m: cannot import name 'Octopus'"
]
}
],
"source": [
"import json\n",
" \n",
"from pprint import pprint\n",
"from octopus import Octopus\n",
" \n",
"def create_request(urls):\n",
" data = []\n",
" \n",
" otto = Octopus(\n",
" concurrency=4, auto_start=True, cache=True, expiration_in_seconds=10\n",
" )\n",
" \n",
" def handle_url_response(url, response):\n",
" if \"Not found\" == response.text:\n",
" print (\"URL Not Found: %s\" % url)\n",
" else:\n",
" data.append(response.text)\n",
" \n",
" for url in urls:\n",
" otto.enqueue(url, handle_url_response)\n",
" \n",
" otto.wait()\n",
" \n",
" json_data = json.JSONEncoder(indent=None,\n",
" separators=(',', ': ')).encode(data)\n",
" \n",
" return pprint(json_data)\n",
"print(create_request(['https://api.spotify.com/v1/search?type=artist&q=snoop',\n",
" 'https://api.spotify.com/v1/search?type=artist&q=dre']))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
This diff is collapsed.
......@@ -13,5 +13,6 @@ url_calc_features = '/calc/features' # 基础特征
url_complex_order = '/features/complex_order' # 多订单
# url_collection = '/calc/loanPostFeatures' # 催收模型
url_loanPostFeatures = '/calc/loanPostFeatures' # 催收模型
url_test = '/calc/test' # 测试
# -*- coding:utf-8 -*-
from handler.Base_Handler import BaseHandler
from utils import JsonUtil
import importlib
from features.Base_Features import BaseFeatures as BF
import datetime
import tornado.web
from tornado import gen
from tornado import httpclient
class TestHandle(BaseHandler): #feature_基础特征
@gen.coroutine
def post(self):
print('开始')
import time
time.sleep(10)
self.write("Hello, world")
print('结束')
......@@ -11,13 +11,20 @@ import logging
import tornado.options
import config.settings as URL
# from handler import LoanDueRateHandler
from tornado.options import define,options
from handler import TransV2Read_Handler
from handler import NewAudit_Handler
from handler import Calc_Features_Handler # 基础特征
from handler import ComplexOrder_Handler # 多订单特征
from handler import LoanPostFeatures_Handler # 催收模型特征
from handler import test_Handler
from tornado.options import define, options
define("port", default=23010, help="run on the given port ", type=int)
define("log_path", default='/tmp', help="log path ", type=str)
class LogFormatter(tornado.log.LogFormatter):
......@@ -35,15 +42,24 @@ def apps():
(URL.url_calc_features, Calc_Features_Handler.CalcFeatures),
(URL.url_complex_order,ComplexOrder_Handler.ComplexOrder),
(URL.url_loanPostFeatures, LoanPostFeatures_Handler.loanPostFeatures),
(URL.url_test, test_Handler.TestHandle),
])
if __name__ == "__main__":
app = apps()
server = HTTPServer(app)
[i.setFormatter(LogFormatter()) for i in logging.getLogger().handlers]
tornado.options.parse_command_line()
# #== 本地调试
app.listen(23011)
IOLoop.instance().start()
\ No newline at end of file
# app = apps()
# server = HTTPServer(app)
# [i.setFormatter(LogFormatter()) for i in logging.getLogger().handlers]
# tornado.options.parse_command_line()
#
# # #== 本地调试
# app.listen(23010)
# IOLoop.instance().start()
tornado.options.parse_command_line()
app = apps()
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
\ No newline at end of file
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://localhost:23010/calc/features',
# 'http://quotes.toscrape.com/page/2/',
]
body = {
'user_uuid':'f69278d3-19d7-4153-9d52-02e7326f9f26',
'order_id': 'SP135963545225471900417487',
'business_type':0 ,
'codes':'degree_one_call_contact#call_remote_zhujiao_long_ratio'
}
for url in urls:
#yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。
#简要理解:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。
yield scrapy.Request(url=url, callback=self.parse)
scrapy.Request(url='',body=json.dumps(body),method='POST')
def parse(self, response):
# page = response.url.split("/")[-2]
# filename = 'quotes-%s.html' % page
# with open(filename, 'wb') as f:
# f.write(response.body)
# self.log('Saved file %s' % filename)
pass
import json
# aaa =scrapy.Request(url='',body=json.dumps(body),method='POST')
#
# print(aaa)
\ No newline at end of file
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.httpclient
from tornado.options import define, options
define("port", default=8001, help="run on the given port ", type=int)
define("log_path", default='/tmp', help="log path ", type=str)
class IndexHandler(tornado.web.RequestHandler):
def get(self):
# 接受GET的请求
headers = self.request.headers
for k, v in headers.items():
print (k, v)
greeting = self.get_argument('greeting', 'Hello')
self.write('%s , friendly user! %s ' % (greeting, headers))
def write_error(self, status_code, **kwargs):
self.write('Holly Shit Error %s' % status_code)
if __name__=="__main__":
# 启动tornado实例
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment