import time from funboost import boost, BrokerEnum, run_forever, funboost_aps_scheduler from Ansjer.config import LOGGER from Model.models import Device_Info @boost("task_queue_name1", qps=0.5, broker_kind=BrokerEnum.REDIS_ACK_ABLE) # 入参包括20种,运行控制方式非常多,想得到的控制都会有。 def task_fun(x, y): print(f'{x} + {y} = {x + y}') LOGGER.info('funboost代码调试,时间为:{}'.format(time.time())) time.sleep(3) # 框架会自动并发绕开这个阻塞,无论函数内部随机耗时多久都能自动调节并发达到每秒运行 5 次 这个 task_fun 函数的目的。 return True if __name__ == "__main__": # for i in range(2): # task_fun.pub(dict(x=i, y=i * 2)) # task_fun.push(i, y=i * 2) # 发布者发布任务 funboost_aps_scheduler.add_push_job(task_fun, 'cron', day_of_week='*', hour=9, minute=30, second=00, kwargs={"x": 5, "y": 6}) # 每隔3秒发布一次任务,自然就能每隔3秒消费一次任务了。 funboost_aps_scheduler.start() task_fun.consume() # 消费者启动循环调度并发消费任务 run_forever()