需求:在測試定時任務 能否按時觸發時,或者 模擬盤 每日凌晨計算買入/賣出 份額時 ,能夠快速測試
方法:通過修改系統時間
修改系統時間命令
date -s "2019-05-01 19:01:55"
查看 當前時間(使用date命令)
注意:爲了定時任務能繼續運行,設置的時間必須遞增(不能從1月2號改爲1月1號)
恢復系統時間爲網絡時間(ubuntu/centos)
1.安裝包 ntpdate
# ubuntu
apt-get install ntpdate
# centos
yum -y install ntp ntpdate
2.停止相關服務
service ntp stop
3.設置網絡時間
ntpdate cn.pool.ntp.org
4.查看設置結果
date
# -*- coding: utf-8 -*-
"""
(C) rgc
All rights reserved
create time '2020/5/11 17:19'
Module usage:
需求:模擬盤中,定時任務每日凌晨觸發,爲了在測試中 能快速測試 業務,需要 在保證任務觸發時間不變的情況下,保證測試質量和速度
後端技術:定時任務通過 apscheduler 實現,並且在 ubuntu 中運行
解決方法:
注意點:如 我要運行 2019-01-01 至 2019-01-31 時間段內的 模擬盤,則需要 先修改系統時間爲 2019-01-01,再運行後端服務,然後根據時間情
況 遞增(時間只能增加不能減少【不能從1月2號改爲1月1號】)的修改時間
1.ubuntu中 通過 date命令 修改系統時間 命令爲: date -s "2019-06-28 19:01:55"
2.修改系統時間爲網絡時間同步(恢復時間爲網絡時間):
"""
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
def job():
print('this time is: %s' % datetime.now())
if __name__ == '__main__':
job()
scheduler = BlockingScheduler()
scheduler.add_job(job, 'cron', hour=19, minute=2)
print('ctrl+c or command+c to exit!')
scheduler.start()