Python 定时任务设计

一,当你想让你某个方法在几秒甚至更长的时间内执行后执行一次,你可以这样做:

import time
from threading import Timer

def print_time( enter_time ):
    print "now is", time.time() , "enter_the_box_time is", enter_time

print time.time()
Timer(5,  print_time, ( time.time(), )).start()
Timer(10, print_time, ( time.time(), )).start()
print time.time()

这样的话,从程序开始执行到5,秒,10秒都会执行一次print_time这个方法。

二,当你想让你的某个方法每个一定周期执行呢,这就需要定时任务的框架APScheduler,网上介绍安装apscheduler的方法很简单,就是:

easy_install apscheduler就行了,可惜我可能用的Python 2.7的原因,虽然有提示安装成功,但是写代码引入这些包的时候总是出问题,最后

我找到了一个apscheduler2.0 的软件包,解压后切换至相应目录后python setup.py install才把问题解决,这个软件包在我的资源可以下载到。

然后你就可以开始写代码了,代码实现风格有两个:

1,带修饰器的写法:

from apscheduler.scheduler import Scheduler
import datetime
schedudler = Scheduler(daemonic = False)

@schedudler.cron_schedule(second='15', day_of_week='0-7', hour='9-12,13-16')
def quote_send_sh_job():
    print 'a simple cron job start at', datetime.datetime.now()

schedudler.start()

2,不带修饰器的写法:

    def cornstart(self,event):
         schedudler = Scheduler(daemonic = True)

         schedudler.add_cron_job(self.timing_exe, day_of_week='mon-sun', hour='0-12', minute='0-59', second='15',)
         print 'get start'
         schedudler.start()

应该好理解,timing_exe是要执行的函数名,如果函数还有参数可以加一个args[]

Python 定时任务设计

时间: 2024-07-30 07:10:36

Python 定时任务设计的相关文章

[转]Python定时任务框架APScheduler

APScheduler是基于Quartz的 一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以 持久化任务.基于这些功能,我们可以很方便的实现一个python定时任务系统,写python还是要比java舒服多了. 1. 安装 安装过程很简单,可以基于easy_install和源码. easy_install apscheduler 或者下载源码,运行命令: python setup.py install

Python设计模式——设计原则

1.单一职责原则:每个类都只有一个职责,修改一个类的理由只有一个 2.开放-封闭远程(OCP):开放是指可拓展性好,封闭是指一旦一个类写好了,就尽量不要修改里面的代码,通过拓展(继承,重写等)来使旧的类满足新的需求,而不是修改一个类里面的代码. 3.依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象:抽象不应该依赖细节,细节应该依赖抽象.底层模块例如很多工具类,例如专门用于管理sql连接的类,管理文件,管理socket连接的类,高层类指具体实现需求的类.高层类和底层类都不应该相互依赖,

Python定时任务框架APScheduler 3.0.3 Cron示例

APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.基于这些功能,我们可以很方便的实现一个python定时任务系统. 安装 安装过程很简单,可以基于pip和源码. Pip install apscheduler==3.0.3 或者下载源码,运行命令: Python setup.py install cron job例子 1: #coding=utf-8

[Dynamic Language] Python定时任务框架

APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用. 测试计划任务 mac-abeen:timetask abeen$ vim testtask.py 1 # !/usr/bin/env python 2 # -*- encoding:utf-8 -*- 3 4 from datetime import datetime 5 6 7 class TestTask(obj

len(x) 击败 x.len(),从内置函数看 Python 的设计思想

内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中起到了极关键的作用. 举个例子,求字符串 x 的长度,Python 的写法是 len(x) ,而且这种写法对列表.元组和字典等对象也同样适用,只需要传入对应的参数即可.len() 函数是共用的. 这是一种极简哲学的体现:Simple is better than complex. 但是,有些语言并不

Python的设计哲学

Beautiful is better than ugly. 优美胜于丑陋 Explicit is better than implicit. 明了胜于晦涩 Simple is better than complex. 简单胜过复杂 Complex is better than complicated. 复杂胜过凌乱 Flat is better than nested. 扁平胜于嵌套 Sparse is better than dense. 间隔胜于紧凑 Readability counts.

Python函数设计原则

在任何编程语言中,函数的应用主要出于以下两种情况: 代码块重复,这时候必须考虑用到函数,降低程序的冗余度 代码块复杂,这时候可以考虑用到函数,增强程序的可读性 当流程足够繁杂时,就要考虑函数,及如何将函数组合在一起.在Python中做函数设计,主要考虑到函数大小.聚合性.耦合性三个方面,这三者应该归结于规划与设计的范畴.高内聚.低耦合则是任何语言函数设计的总体原则. 如何将任务分解成更有针对性的函数从而导致了聚合性 如何设计函数间的通信则又涉及到耦合性 如何设计函数的大小用以加强其聚合性及降低其

用Python语言设计GUI界面

我们大家都编写过程序,但是如果能够设计一个GUI界面,会使程序增添一个很大的亮点!今天就让我们来用目前十分流行的python语言写出一个最基本的GUI,为日后设计更加漂亮的GUI打下基础. 工具/原料 Python编译软件 PyQt设计软件 方法/步骤 1 首先,如果没有安装python和PyQt软件的请先直接搜索下载并安装.python是一个开源软件,因此都是可以在网上免费下载的,最新版本即可.下载完成后,我们先打开PyQt designer. 2 打开后,首先是一个默认的新建窗口界面,在这里

python 面向对象设计思想发展史

这篇主要说的是程序设计思想发展历史,分为概述和详细发展历史 一,概述 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的 指令和数 据.简单来说,就是直接编写 0 和 1 的序列来代表程序语言.例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等. 机器语言由机器直接执行,速度快,但一个很明显的缺点就是:写起来实在是太困难了,一旦你 发现自己 写错了,改起来更蛋疼!这样直接导致程序编写效率十分低下,编写程序花