我使用celery beat、worker和redis作为代理来调度任务并在后台调用特定函数。通话间隔为3秒,每3秒可能有多个通话。
def theFunction(arg1, arg2):
obj = Model.objects.get(id=arg1)
# call to a Modbus server
result = Modbus.call(ip=obj.ip, obj.port) # just an example
Data.objects.create(value=result)
我从django政府开始 celery-beat-schedule
,所有要使用不同id调用此函数的任务。
我使用supervisor分别自动化命令:
celery -A project worker --log-level=info
celery -A project beat --log-level=info
服务器是16gb的ram,当redis运行时,它会消耗高达14gb的ram,服务器会变慢。
当我使用 celery purge
为了杀死所有任务,我有时会看到队列中有100多万个任务。
如何改进这一点,每3秒就有一个结果以图形形式显示实时数据。如果有其他技术,我可以使用,让我知道。
暂无答案!
目前还没有任何答案,快来回答吧!