如何在我的主要Django应用程序进程中访问Celery任务的结果?或者,如何从单独的进程发布到现有套接字连接?我有一个用户可以收到分数的应用程序。当记录分数时,会进行计算(目标进展等),并根据这些计算向感兴趣的用户发送通知。计算可能需要30秒以上,因此为了避免UI缓慢,这些操作通过Celery任务在后台进程中执行,由我的Score模型的post_save信号调用。理想情况下,我的Nofication模型上的post_save信号会向订阅的客户端发布消息(我正在使用django-socketio,gevent-socketio的包装器)。这看起来很简单......创建乐谱在后台进程中对
如何在我的主要Django应用程序进程中访问Celery任务的结果?或者,如何从单独的进程发布到现有套接字连接?我有一个用户可以收到分数的应用程序。当记录分数时,会进行计算(目标进展等),并根据这些计算向感兴趣的用户发送通知。计算可能需要30秒以上,因此为了避免UI缓慢,这些操作通过Celery任务在后台进程中执行,由我的Score模型的post_save信号调用。理想情况下,我的Nofication模型上的post_save信号会向订阅的客户端发布消息(我正在使用django-socketio,gevent-socketio的包装器)。这看起来很简单......创建乐谱在后台进程中对
我有一个celery服务器,可以为我的应用程序处理一些计数器classIncrementStatsCounterTask(Task):defrun(self,count,shortcode,stat_type,operator_id,date,**kwargs):r_server=redis.Redis(settings.REDIS_HOST)key=key_mask%{'shortcode':shortcode,'stat_type':stat_type,'operator_id':operator_id,'date':date.strftime('%Y%m%d')}returnke
我有一个celery服务器,可以为我的应用程序处理一些计数器classIncrementStatsCounterTask(Task):defrun(self,count,shortcode,stat_type,operator_id,date,**kwargs):r_server=redis.Redis(settings.REDIS_HOST)key=key_mask%{'shortcode':shortcode,'stat_type':stat_type,'operator_id':operator_id,'date':date.strftime('%Y%m%d')}returnke
我正在使用celeryworker从我的机器学习模型中获取结果。我正在做的是将大的numpy数组(几兆字节)从客户端发送到celery任务并返回。目前我正在将客户端numpy数组序列化为base64。当我直接从客户端或celeryworker上的Redis存储/获取数据时,系统的性能比/当我让celery完成所有参数传递(numpy的base64)时快得多。我也想使用celery(带有'redis'代理)来传递args/numpy数组,而不是直接在客户端中传递redis。你知道哪里会出问题吗?我如何设置celery的配置以更有效地执行此操作(在client->broker->worke
我正在使用celeryworker从我的机器学习模型中获取结果。我正在做的是将大的numpy数组(几兆字节)从客户端发送到celery任务并返回。目前我正在将客户端numpy数组序列化为base64。当我直接从客户端或celeryworker上的Redis存储/获取数据时,系统的性能比/当我让celery完成所有参数传递(numpy的base64)时快得多。我也想使用celery(带有'redis'代理)来传递args/numpy数组,而不是直接在客户端中传递redis。你知道哪里会出问题吗?我如何设置celery的配置以更有效地执行此操作(在client->broker->worke
我遇到了一个非常糟糕的情况。我有以下设置。我有一个代表FSM的django模型djangoFSMfield我有一个celery任务,它发送一封电子邮件,然后推进主要对象FSM的状态。从celery任务的角度来看,对象“似乎”被保存了。但是从主django进程的角度来看,对象没有被更新。奇怪的是,辅助对象被正确保存到数据库中,稍后可以从主django进程访问。我在Celery任务的对象上显式调用了.save(),date_last_modified=models.DateTimeField(auto_now=True,null=True)字段有Celery任务中的时间戳比主线程晚,尽管我
我遇到了一个非常糟糕的情况。我有以下设置。我有一个代表FSM的django模型djangoFSMfield我有一个celery任务,它发送一封电子邮件,然后推进主要对象FSM的状态。从celery任务的角度来看,对象“似乎”被保存了。但是从主django进程的角度来看,对象没有被更新。奇怪的是,辅助对象被正确保存到数据库中,稍后可以从主django进程访问。我在Celery任务的对象上显式调用了.save(),date_last_modified=models.DateTimeField(auto_now=True,null=True)字段有Celery任务中的时间戳比主线程晚,尽管我
我正在使用带有Redis的celery。当前的Redis被用作代理和结果后端。BROKER_TRANSPORT='redis'BROKER_URL='redis://domain:8888/0'CELERY_RESULT_BACKEND='redis://domain:8888/0'我想清除一些东西:使用结果后端有什么好处?我的意思是我会通过使用它得到什么我如何才能看到它正在运行?我的意思是Redis中会存储一些东西吗?该存储将是永久性的吗?我该如何查询?存储空间会随着时间增长吗?我可以用celery花监控结果后端吗? 最佳答案 结
我正在使用带有Redis的celery。当前的Redis被用作代理和结果后端。BROKER_TRANSPORT='redis'BROKER_URL='redis://domain:8888/0'CELERY_RESULT_BACKEND='redis://domain:8888/0'我想清除一些东西:使用结果后端有什么好处?我的意思是我会通过使用它得到什么我如何才能看到它正在运行?我的意思是Redis中会存储一些东西吗?该存储将是永久性的吗?我该如何查询?存储空间会随着时间增长吗?我可以用celery花监控结果后端吗? 最佳答案 结