方法一、tornado+apscheduler定時任務
搞乙個排程任務,定時從hive抽數,使用tornado寫個服務實現類似的功能。使用自帶的間隔**函式在傳送請求沒辦法達到非同步的效果,但是也不想在外部設定cron熱痱任務,最後的目的就是將這些柔到乙個**裡面,所以才有了這篇文章,下面給出的是示例
使用apscheduler定時任務,可以使用interval任務+cron任務,interval定時更新cron配置資訊,cron則實現作業計畫。
from apscheduler.schedulers.blocking importblockingscheduler
sched =blockingscheduler()
defmy_job():
print(
'hello world
')
# 使用修飾器
@sched.scheduled_job('cron
', id='
my_job_id
', second=10)
defhello():
print(
"hello decorate
")
# 輪循
sched.add_job(my_job, 'interval
', seconds=5)
# 定時計畫
sched.add_job(my_job, 'cron
', second=5, minute=1, hour=12, day_of_week=2)
sched.start()
在tarnado中用法
importtornado
from apscheduler.schedulers.tornado import
tornadoscheduler
sched =tornadoscheduler()
defmy_job():
print(
sched.get_jobs())
sched.add_job(my_job,
'interval
', seconds=5, id="1"
)sched.start()
tornado.ioloop.ioloop.instance().start()
方法二、
from tornado importweb, ioloop
import
datetime
class
mainhandler(web.requesthandler):
defget(self):
self.write(
'hello tornado')
deff2s():
'2s
', datetime.datetime.now()
deff5s():
'5s
', datetime.datetime.now() if
__name__ == '
__main__':
(r'/
', mainhandler),
]) ioloop.periodiccallback(f2s, 2000).start() #
start scheduler 每隔2s執行一次f2s
ioloop.periodiccallback(f5s, 5000).start() #
start scheduler
ioloop.ioloop.instance().start()
1、2、
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
at定時任務
at的守護程序每60秒檢查一次作業佇列,有作業時檢查作業,時間恰好達到,則執行作業。前提 保證atd程序已經啟動,檢查atd程序是否啟動 ps ef grep atd。atd的命令格式 at 選項 時間 ctrl d 結束at命令的輸入。選項 m 任務完成後給使用者傳送郵件,沒有標準輸出。i atg...
at定時任務
1 at是只執行一次,執行完後任務刪除。at的守護程序atd會以後臺模式執行,檢查作業佇列來執行。2 預設 atd每60秒巡邏一次,有作業時候,檢查作業時間,如果和當前時間一樣,就執行任務 3 在使用at命令的時候,一定要保證他的守護者atd程序的啟動。用ps ef grep atd來檢視atd是否...