encoding: utf-8
import schedule
import sched
import urllib.request
import time
import requests
缓存job 可以同时执行另个任务处理数据,buffer_job_1及buffer_job_2共2000条数据,分片处理,每片1000条数据
#下列为分片总数为2片,0为第一片也就是第一页数据,1为第二页数据
def buffer_post_job():
print(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time())))
job_1_imageURL=‘请求接口地址’
params_job_1 = urllib.parse.urlencode({
‘shardingCount’:3,
‘shardingInt’:0}).encode(‘utf-8’);
job_2_imageURL='请求接口地址'
params_job_2 = urllib.parse.urlencode({
'shardingCount':3,
'shardingInt':1}).encode('utf-8');
job_3_imageURL='请求接口地址'
params_job_3 = urllib.parse.urlencode({
'shardingCount':3,
'shardingInt':2}).encode('utf-8');
print("I'm buffer_job_1 start...")
print("I'm buffer_job_2 start...")
print("I'm buffer_job_3 start...")
try:
job_1_req = urllib.request.Request(url=job_1_imageURL,data=params_job_1)
job_1_data=urllib.request.urlopen(job_1_req).read().decode('utf-8')
print(job_1_data)
print("I'm buffer_job_1 End...")
job_2_req = urllib.request.Request(url=job_2_imageURL,data=params_job_2)
job_2_data=urllib.request.urlopen(job_2_req).read().decode('utf-8')
print(job_2_data)
print("I'm buffer_job_2 End...")
job_3_req = urllib.request.Request(url=job_3_imageURL,data=params_job_3)
job_3_data=urllib.request.urlopen(job_3_req).read().decode('utf-8')
print(job_3_data)
print("I'm buffer_job_3 End...")
except urllib.error.HTTPError as e:
print(e)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
日终定时任务,定时每日固定时间启动任务
def EndDay_job():
for i in range(6):
print(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time())))
print(“EndDay_job is start-NO %d” % i)
response = requests.get(‘请求接口地址’)
print(response.text)
time.sleep(10)
print(“EndDay_job is end!!!”)
缓冲job get请求访问
def buffer_get_job():
print(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time())))
print(“buffer_get_job is start…”)
for i in range(3):
count={“shardingCount”:“3”,“shardingInt”: i}
response = requests.get('请求接口地址,params=count)
print(response.text)
print(“buffer_get_job is end!!!”)
#每隔时长执行
#schedule.every(1).minutes.do(buffer_post_job)
schedule.every(1).minutes.do(buffer_get_job)
#每天固定执行
schedule.every().day.at(“00:10”).do(EndDay_job)
while 1:
schedule.run_pending()
time.sleep(1)
测试过程中,如遇到job 任务执行时,需要进行持续性测试,可采用脚本或借助工具进行操作