草庐IT

django-extensions

全部标签

python - Django 连接到 Redis

要将Django连接到Redis,我必须为每个View打开连接:importrediscacheDB=redis.StrictRedis()cacheDB.sadd("new_post",post.id)有没有办法在某处创建单个连接并将其导入每个View? 最佳答案 您可以使用django-redis,它允许使用Redis作为Django缓存框架的后端。它支持connectionpooling.基本用法:#settings.pyCACHES={'default':{'BACKEND':'redis_cache.cache.Redis

python - 从主机运行 supervisord,从 virtualenv(Django 应用程序)运行 celery

我正在尝试使用celery和redis队列为我的Django应用程序执行任务。Supervisord通过apt-get安装在主机上,而celery驻留在我系统上的特定virtualenv中,通过pip安装。因此,我似乎无法通过supervisord运行celery命令。如果我从virtualenv内部运行它,它工作正常,在它之外,它没有。如何让它在我当前的设置下运行?解决方案是简单地通过apt-get安装celery而不是在virtualenv中吗?请指教。我在/etc/supervisor/conf.d中的celery.conf是:[program:celery]command=/h

python - 从主机运行 supervisord,从 virtualenv(Django 应用程序)运行 celery

我正在尝试使用celery和redis队列为我的Django应用程序执行任务。Supervisord通过apt-get安装在主机上,而celery驻留在我系统上的特定virtualenv中,通过pip安装。因此,我似乎无法通过supervisord运行celery命令。如果我从virtualenv内部运行它,它工作正常,在它之外,它没有。如何让它在我当前的设置下运行?解决方案是简单地通过apt-get安装celery而不是在virtualenv中吗?请指教。我在/etc/supervisor/conf.d中的celery.conf是:[program:celery]command=/h

Django 无法连接到 Redis Docker 容器

我一直在尝试使用Docker-Compose将我的Django容器连接到Redis。经过几个小时更改Docker和Django配置并尝试不同的方式来运行所有内容后,我终于发现Redis正在向主机广播。这些是我每次尝试时遇到的错误:连接到0.0.0.0:6379时出现错误111。连接被拒绝。连接到localhost:6379时出现错误61。连接被拒绝。连接到127.0.0.1:6379时出现错误111。连接被拒绝。我最终将Redis的DjangoIP配置更改为Docker主机IP,它工作得很好......有谁知道配置所有内容的方法,以便Django在内部Docker网络而不是外部主机上查

Django 无法连接到 Redis Docker 容器

我一直在尝试使用Docker-Compose将我的Django容器连接到Redis。经过几个小时更改Docker和Django配置并尝试不同的方式来运行所有内容后,我终于发现Redis正在向主机广播。这些是我每次尝试时遇到的错误:连接到0.0.0.0:6379时出现错误111。连接被拒绝。连接到localhost:6379时出现错误61。连接被拒绝。连接到127.0.0.1:6379时出现错误111。连接被拒绝。我最终将Redis的DjangoIP配置更改为Docker主机IP,它工作得很好......有谁知道配置所有内容的方法,以便Django在内部Docker网络而不是外部主机上查

websocket - 从消费者外部收听 django channel channel_layer

文档说明可以从消费者外部发布到channel层:https://channels.readthedocs.io/en/latest/topics/channel_layers.html#using-outside-of-consumers我需要做相反的事情。我有一个相当复杂的python脚本,它从pubnub读取实时数据,对其进行处理,然后通过channel_layer上的组将其推送给消费者。这工作正常,但我需要消费者能够向该脚本宣布他们的存在,以便它可以向他们推送数据(它目前仅在从pubnub获取新数据时才推送到channel层,这可能是每24小时一次)。我决定通过让消费者发布到连接

websocket - 从消费者外部收听 django channel channel_layer

文档说明可以从消费者外部发布到channel层:https://channels.readthedocs.io/en/latest/topics/channel_layers.html#using-outside-of-consumers我需要做相反的事情。我有一个相当复杂的python脚本,它从pubnub读取实时数据,对其进行处理,然后通过channel_layer上的组将其推送给消费者。这工作正常,但我需要消费者能够向该脚本宣布他们的存在,以便它可以向他们推送数据(它目前仅在从pubnub获取新数据时才推送到channel层,这可能是每24小时一次)。我决定通过让消费者发布到连接

c# - Catch Microsoft.Extensions.Caching.Redis 连接失败?

我需要在我的asp.net核心项目中使用Microsoft.Extensions.Caching.Redis。我将此代码放入ConfigureService(Startup.cs)中:IDistributedCachecache=newRedisCache(newRedisCacheOptions{Configuration=Configuration.GetConnectionString("Redis"),InstanceName="Master"});services.AddSingleton(cache);我需要的是捕获连接异常(以防Redis服务器宕机,或者服务器无法访问),

c# - Catch Microsoft.Extensions.Caching.Redis 连接失败?

我需要在我的asp.net核心项目中使用Microsoft.Extensions.Caching.Redis。我将此代码放入ConfigureService(Startup.cs)中:IDistributedCachecache=newRedisCache(newRedisCacheOptions{Configuration=Configuration.GetConnectionString("Redis"),InstanceName="Master"});services.AddSingleton(cache);我需要的是捕获连接异常(以防Redis服务器宕机,或者服务器无法访问),

django - ConnectionAbortedError - 如果 Celery 停止/失败或 Redis 未启动。我如何捕获/除此错误/

我有一个与Redis一起工作的Celery任务:@app.task(bind=True,name='task_a',max_retries=4,soft_time_limit_exception=300)deftask_a(self,a,b):try:#somecodehereexceptExceptionase:raiseself.retry(exc=e,countdown=exponential_backoff(self))defexponential_backoff(task_self):minutes=task_self.default_retry_delay/60rand=r