在python中启动一个进程每小时一次

问题描述:

目前,我正在为python中的响应请求编写一个服务器,并且我想要启动另一个进程来处理每小时一次的数据。在python中启动一个进程每小时一次

我只知道multiprocessing可以创建过程,但我不知道如何每小时创建一次?

+0

你试过time.time()函数吗? – GLHF 2014-12-07 04:12:13

+0

我认为'subprocess'模块可能比'multiprocessing'更有意义。 – icktoofay 2014-12-07 04:13:21

+0

@qqvc不,我只知道time.time()可以得到当前时间,你的意思是根据time.time()%3600开始另一个进程。 – mickeyandkaka 2014-12-07 04:15:55

Sched? Sched module定义了一个实现通用事件调度器的类:

让我来向你解释我的观点。

while True: 
    ~~codes # this is codes you want to continue once an hour 
    sleep(3600) 

这个while循环是无穷远,现在,一旦其过程的代码,它会 等待3600秒,那么它将再次处理它,它会再次等待3600 秒,直到你停止while循环。

因此,举例来说,如果你想让它5小时:

x=0 
while x<5: 
    ~~codes # this is codes you want to continue once an hour 
    sleep(3600) 
    x+=1 
+0

,我该如何处理请求? – mickeyandkaka 2014-12-07 04:32:30

+0

我不知道你的代码很激动,所以我不能立即发表评论 – GLHF 2014-12-07 04:34:29

+0

如果你想这样做在新的线程运行睡眠 – 2014-12-07 04:35:20

没有必要启动另一个进程,使用一个程序来处理每小时requests.You可以使用在Linux名为科雷调度要做到这一点。

类型此检查是否可用任何croontabs已经

$须藤的crontab -l 如果它说没有安装crontab中再加入一个。

$ sudo的crontab -e命令

然后它会问你选择的编辑器,选择你喜欢的任何编辑,我的选择是纳米。

旁边添加的cron调度命令file.For你的问题,如果程序test.py,然后

添加下面一行在编辑器中打开。

“* */1 * * *蟒/path_to_test.py/test.py”

路径是你的程序文件lies.Your计划将唤醒每个小时处理的requests.for更多细节cron访问此页面。 http://impythonist.wordpress.com/2014/11/13/how-to-wake-up-a-python-script-while-you-are-in-a-sound-sleep/

如果您需要多处理能力,请使用APScheduler。

https://apscheduler.readthedocs.org/en/latest/