You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
from datetime import timedelta
|
|
|
|
|
from celery.schedules import crontab
|
|
|
|
|
from protocol.ModBus.rtumaster_example import RTUMaster
|
|
|
|
|
import os
|
|
|
|
|
from peewee import *
|
|
|
|
|
import sqlite3
|
|
|
|
|
|
|
|
|
|
from utils.DBModels.ClientModels import ClientDB
|
|
|
|
|
from utils.DBModels.BaseModel import *
|
|
|
|
|
from utils.DBModels.ProjectBaseModel import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BROKER_URL = 'redis://127.0.0.1:6379' # 指定 Broker
|
|
|
|
|
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0' # 指定 Backend
|
|
|
|
|
|
|
|
|
|
CELERY_TIMEZONE='Asia/Shanghai' # 指定时区,默认是 UTC
|
|
|
|
|
ENABLE_UTC = False
|
|
|
|
|
|
|
|
|
|
CELERY_IMPORTS = ( # 指定导入的任务模块
|
|
|
|
|
'protocol.Celery.HARTCelery.HARTTask',
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# WORKER_HIJACK_ROOT_LOGGER = False
|
|
|
|
|
|
|
|
|
|
CELERY_TASK_RESULT_EXPIRES = 5 # 结果过期时间
|
|
|
|
|
|
|
|
|
|
CELERY_RESULT_SERIALIZER = 'json' # 结果存储格式
|
|
|
|
|
|
|
|
|
|
# 指定任务序列化方式
|
|
|
|
|
CELERY_TASK_SERIALIZER = 'msgpack'
|
|
|
|
|
|
|
|
|
|
# CELERYD_CONCURRENCY = 1 # 并发worker数
|
|
|
|
|
|
|
|
|
|
# 指定任务接受的序列化类型.
|
|
|
|
|
CELERY_ACCEPT_CONTENT = ["msgpack",'pickle','json']
|
|
|
|
|
|
|
|
|
|
CELERYD_FORCE_EXECV = True # 非常重要,有些情况下可以防止死锁
|
|
|
|
|
|
|
|
|
|
CELERYD_TASK_TIME_LIMIT = 60 # 单个任务的运行时间不超过此值,否则会被SIGKILL 信号杀死
|
|
|
|
|
|
|
|
|
|
# 定时任务
|
|
|
|
|
try:
|
|
|
|
|
CELERYBEAT_SCHEDULE = {
|
|
|
|
|
'add-every-0.1-seconds': {
|
|
|
|
|
'task': 'protocol.Celery.HARTCelery.HARTTask.readValues',
|
|
|
|
|
'schedule': timedelta(seconds = 0.7), # 每 30 秒执行一次
|
|
|
|
|
'args': () # 任务函数参数
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(e)
|