question
1 想要使用python代码创建一个定时任务,比如每间隔a秒执行某种动作。 注意,‘某种动作’会耗时b秒,且b > a ,这意味着我们的定时任务需要异步执行。
2 同1,不过语言使用javascript。
实现(python)
(1) 一个方法是linux crontab 定时任务,间隔一段时间去调用py脚本即可。这里不给出例子。
(2) python对应的定时任务 api 很多,这里写一个例子,它比较简单,同时也比较健壮,适合多个场景:
注意1 : import的包有些多余,仅仅用到了pd np 和 time;
注意2: 其实是写了个无限递归,每一次递归里,创建数据帧,7列&随机的2999999行,然后延时3秒调用自己。
注意3: timer可以启动多个定时任务,这些定时器任务是异步执行,所以不存在等待顺序执行问题。而 time.sleep(3) 会顺序等待。在我需要的场景里,不允许等待,所以我使用timer
注意4:Timer使用线程执行任务,每次执行完后会销毁,所以不必担心资源问题。
#!/usr/bin/env python
# coding: utf-8
from flask import Flask,request,jsonify
from threading import Timer
import joblib
import pandas as pd
import numpy as np
import datetime as d
import time
def MonitorNetWork(logfile = Non