init
This commit is contained in:
35
web/tasks/crond/jobs/create_last_month_publish_data.py
Normal file
35
web/tasks/crond/jobs/create_last_month_publish_data.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import datetime
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from commons.models.price_publish import PricePublish
|
||||
from commons.models.price_result import PriceResult
|
||||
from core.factory import ClientApp
|
||||
from tasks.crond import sched
|
||||
from tasks.once.calculate import calculate
|
||||
from tasks.once.collect import collect
|
||||
|
||||
|
||||
@sched.scheduled_job(trigger='cron', day='*/1', hour='2', minute="30")
|
||||
def create_last_month_publish_data():
|
||||
"""
|
||||
:return:
|
||||
"""
|
||||
today = datetime.date.today()
|
||||
last_month = today - relativedelta(months=1)
|
||||
year, month = last_month.year, last_month.month
|
||||
|
||||
with ClientApp().app_context:
|
||||
# 检查是否生成上月数据
|
||||
query = PriceResult.get_query(year=year, month=month)
|
||||
result = PriceResult.get_list(query)
|
||||
if not result:
|
||||
calculate(year=year, month=month)
|
||||
|
||||
# 检查是否生成上月数据
|
||||
query = PricePublish.get_query(year=last_month.year, month=last_month.month)
|
||||
result = PricePublish.get_list(query)
|
||||
if not result:
|
||||
collect(year=year, month=month)
|
||||
|
||||
return
|
Reference in New Issue
Block a user