小编rra*_*nza的帖子

从 celery_beat 中删除项目不会将它们从数据库计划中删除

django-celery-beat在 django 应用程序中使用(这将计划存储在数据库中而不是本地文件中)。我已经通过celery_beatCelery 配置了我的日程安排,并通过 via 进行了初始化app.config_from_object(...)

我最近重命名/删除了一些任务并重新启动了应用程序。新任务出现了,但从celery_beat字典中删除的任务并未从数据库中删除。

这是预期的工作流程吗——需要从数据库中手动删除任务?是否有解决方法可以在 Django 启动时自动协调计划?

我尝试了PeriodicTask.objects.all().delete()一个celery/__init__.py

def _clean_schedule():                                                         
    from django.db import transaction                                           
    from django_celery_beat.models import PeriodicTask                          
    from django_celery_beat.models import PeriodicTasks                         
    with transaction.atomic():                                                  
         PeriodicTask.objects.\                                                  
            exclude(task__startswith='celery.').\                               
            exclude(name__in=settings.CELERY_CONFIG.celery_beat.keys()).\      
            delete()                                                            
         PeriodicTasks.update_changed()                                          
_clean_schedule()           
Run Code Online (Sandbox Code Playgroud)

但这是不允许的,因为 Django 尚未正确启动:

django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。

您也不能使用 Django,因为不支持AppConfig.ready()进行查询/数据库连接。ready()

django celery celerybeat

4
推荐指数
1
解决办法
2031
查看次数

在WAMP上使用Libsodium和PHP

我在libsodium本地服务器(WAMP64)上安装时遇到了麻烦.

我使用了这个指南和许多其他人,但仍然没有运气.

我成功安装PEAR但我无法使用它来安装PHP包装器libsodium.有人可以一步一步地发布一个小指南来帮助我吗?

错误:DSP libsodium.dsp不存在.

我很感激帮助安装Halite,需要libsodium,因为也许这将是我的下一步.

谢谢大家.

php pear cryptography libsodium

3
推荐指数
1
解决办法
766
查看次数

为什么命名元组比字典使用更少的内存?

我问这个是因为我觉得这很令人惊讶——我认为 anamedtuple会有更多的开销。

(背景是我在内存中缓存了一个大的 Django 查询,发现 Django 对象的大小是 的 100 倍.values()。然后我想知道namedtuple这些对象的开销版本是什么,允许我仍然使用.对项目的访问作为属性。较小的是不是我所期望的。)

#!/usr/bin/env python                                                           

from pympler.asizeof import asizeof                                             
from collections import namedtuple                                              

import random                                                                   
import string                                                                   

QTY = 100000                                                                    


class Foz(object):                                                              
    pass                                                                        

dicts = [{'foo': random.randint(0, 10000),                                      
          'bar': ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(32)]),
          'baz': random.randrange(10000),                                       
          'faz': random.choice([True, False]),                                  
          'foz': Foz()} for _ in range(QTY)]                                    

print "%d dicts: %d" % (len(dicts), asizeof(dicts))                             

# /sf/ask/3074486831/

MyTuple = namedtuple('MyTuple', sorted(dicts[0]))                               

tuples = [MyTuple(**d) for d …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

3
推荐指数
1
解决办法
647
查看次数

在机器人框架中获取元素属性

您好如何在Robot框架中使用Get Element Attribute?在指令中我有元素属性的返回值.

例如,attribute_locator由元素定位符后跟@符号和属性名称组成element_id@class.

我有这个xpath=${check_radio_xpath}@class正确的方法吗?哪里${check_radio_xpath} = md-radio-11

我收到此错误:

${ischecked} = Selenium2Library . Get Element Attribute xpath=${check_radio_xpath}@class

Documentation:
Return value of element attribute.

TRACE   Arguments: [ 'xpath=md-radio-11@class' ]        
DEBUG   Finished Request    
FAIL    ValueError: Element 'xpath=md-radio-11' not found.
Run Code Online (Sandbox Code Playgroud)

robotframework

2
推荐指数
1
解决办法
2万
查看次数

为什么 nulls_last=False 不在 Django 中将 null 放在第一位?

我发现虽然nulls_last=True有效,nulls_last=False但不起作用。下面的示例位于 Django shell 中。

In [10]: [x.date for x in Model.objects.all().order_by(F('date').asc(nulls_last=True))]                                                                                                                               
Out[10]: 

[datetime.datetime(2020, 3, 10, 16, 58, 7, 768401, tzinfo=<UTC>),
 datetime.datetime(2020, 3, 10, 17, 4, 51, 601980, tzinfo=<UTC>),
 None,
 ]

[ins] In [11]: [x.last_run_created_at for x in Model.objects.all().order_by(F('date').asc(nulls_last=False))]                                                                                                                              
Out[11]: 
[datetime.datetime(2020, 3, 10, 16, 58, 7, 768401, tzinfo=<UTC>),
 datetime.datetime(2020, 3, 10, 17, 4, 51, 601980, tzinfo=<UTC>),
 None,
 ]

In [12]:                                                                                              
Run Code Online (Sandbox Code Playgroud)

我已经用desc()和尝试过了asc()

django

2
推荐指数
1
解决办法
1773
查看次数

RuntimeError:模型类nose.util.C未声明显式app_label

仅当我运行单元测试时,是什么导致我的 django 应用程序出现此错误?为什么它认为nose.util.C是一个模型?

RuntimeError:模型类nose.util.C 未声明显式app_label,并且不在INSTALLED_APPS 中的应用程序中,或者在加载其应用程序之前导入。

django nose

1
推荐指数
1
解决办法
312
查看次数