Python 定时任务

1主文件:picTime 定时启动任务 2 3#!usr/bin/evn python 4 5#coding=utf-8 #支持中文注释 6from datetime import date, time, datetime, timedelta 7import StrToImageBase64 8import cmdPic 9import redis 10import Fileout 11import time 12 13def work(): 14 strTimes=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())) 15 print(strTimes) 16 cmdPic.Excute(strTimes) 17 time.sleep(50) 18 Fileout.ReadPic("Sleep 50s") 19 r=redis.Redis(host='192.168.20.153',port=6379) 20 print(strTimes+'_130000000000_11') 21 ccstr=r.get(strTimes+'_130000000000_11') 22 Fileout.ReadPic("Read key"+strTimes+'_130000000000_11') 23 isNones=ccstr 24 if isNones==None: 25 Fileout.ReadPic("Pictrue KeyAndVlaue not Exist") 26 else: 27 if b'picData' in ccstr: 28 StrToImageBase64.str_to_image(ccstr, './image/'+strTimes+'.jpeg') 29 Fileout.ReadPic("Pictrue sussful") 30 elif b'order' in ccstr: 31 Fileout.ReadPic("Pictrue save fail") 32 else: 33 Fileout.ReadPic("fails") 34 35def runTask(func, day=0, hour=0, min=0, second=0): 36 # Init time 37 now = datetime.now() 38 strnow = now.strftime('%Y-%m-%d %H:%M:%S') 39 #print("now:",strnow) 40 Fileout.ReadPic("now:"+strnow) 41 # First next run time 42 period = timedelta(days=day, hours=hour, minutes=min, seconds=second) 43 next_time = now + period 44 strnext_time = next_time.strftime('%Y-%m-%d %H:%M:%S') 45 #print("next run:",strnext_time) 46 Fileout.ReadPic("next run:"+strnext_time) 47 while True: 48 # Get system current time 49 iter_now = datetime.now() 50 iter_now_time = iter_now.strftime('%Y-%m-%d %H:%M:%S') 51 if str(iter_now_time) == str(strnext_time): 52 # Get every start work time 53 #print ("start work: %s" % iter_now_time) 54 Fileout.ReadPic("start work: %s" %iter_now_time) 55 # Call task func 56 func() 57 #print ("task done.") 58 Fileout.ReadPic("task done.") 59 # Get next iteration time 60 iter_time = iter_now + period 61 strnext_time = iter_time.strftime('%Y-%m-%d %H:%M:%S') 62 #print ("next_iter: %s" % strnext_time) 63 Fileout.ReadPic("next_iter: %s" %strnext_time) 64 # Continue next iteration 65 continuework() 66runTask(work,min=2) 67 68 69连接redis 执行命令 cmdPic.py 70#!usr/bin/evn python 71#coding=utf-8 72import redis 73import json 74import base64 75import time 76import Fileout 77def Excute(strTime): 78 #连接 79 r=redis.Redis(host='192.168.20.153',port=6379) 80 #写 81 Fileout.ReadPic(r) 82 data={"order":"11","camera":[{"id":"130000000000","position":["11","12"]}]}; 83 sdata=json.dumps(data) 84 str=r.set('orders_001_'+strTime,sdata) 85 print(str) 86 Fileout.ReadPic('Set key'+'orders_001_'+strTime) 87 temp=r.get('orders_001_'+strTime)#decode()解决Python3输出带b 88 Fileout.ReadPic('Get keyValue'+'orders_001_'+strTime) 89 90 91 92 93 #将读取的字符串转换为图片 StrToImageBase64.py 94#!usr/bin/evn python 95 96 97#coding=utf-8 98#Author DangKai 99import base64 100import json 101#将数据转换为json在转换为相片 102#class Image: 103 # def __init__(self,name,cstr) 104 ##self.name=name 105 #self.cstr=cstr 106 #pass 107def str_to_image(cstr,name): 108 print(cstr) 109 str_to_json=json.loads(cstr) 110 print(str_to_json) 111 data=str_to_json['picData'] 112 #print(data) 113 picData=base64.b64decode(data) 114 picDatas=open(name,'wb') 115 picDatas.write(picData) 116 picDatas.close() 117def image_to_str(ImageName): 118 imageFile=open(ImageName,"rb") 119 str_to_base64=base64.b64encode(imageFile.read()) 120 data=str_to_base64.decode() 121 #print(data) 122 sdata={'picData':data} 123 #in_json=json.dumps(sdata)#转化为json存储 124 #return in_json 125 return sdata
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid

Python之time模块的时间戳、时间字符串格式化与转换

Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y

Python 定时任务 - HelloWorld