小编Chi*_*and的帖子

Emacs自定义命令行参数

从文档中我可以看到我可以访问命令行参数(命令行参数).我想添加自己的论点,但Emacs在启动时抱怨它不能识别它们.

例如

emacs -my_argument
Run Code Online (Sandbox Code Playgroud)

我明白了:

command-line-1: Unknown option `-my_argument'

什么是定义我的自定义参数并向我的Emacs会话提供信息的正确方法?有没有办法从命令行弹出参数?

emacs elisp

17
推荐指数
2
解决办法
2356
查看次数

每次重试周期增加芹菜重试时间

我像在Docs-Example中那样用芹菜重试:

@task()
def add(x, y):
    try:
        ...
    except Exception, exc:
        add.retry(exc=exc, countdown=60)  # override the default and
                                          # retry in 1 minute
Run Code Online (Sandbox Code Playgroud)

每次重试此作业时,如何增加重试倒计时 - 例如60秒,2分钟,4分钟等等,直到MaxRetriesExceeded被提升为止?

python celery celeryd

16
推荐指数
3
解决办法
6248
查看次数

在Python中获取整数的大小

我如何找出一个特定数字需要存储的字节数,例如\ x00 - \xFF我希望获得1(字节),\ x100 - \xffff会给我2(字节)等等.任何线索?

python byte numbers

13
推荐指数
3
解决办法
4万
查看次数

整个Django项目的空白label_suffix

我想消除在整个Django项目中自动添加到表单标签的冒号(:).我想避免添加label_suffix=''到项目中的每个表单.

是否有一种简单的方法可以覆盖它到处?

python django django-templates django-forms

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

Django:Paginator +原始SQL查询

我在我的网站上到处都使用Django Paginator,甚至还写了一个特殊的模板标签,以使它更方便.但现在我进入了一个状态,我需要在其中创建一个复杂的自定义原始SQL查询,没有LIMIT将返回大约100K记录.

如何在自定义查询中使用Django Pagintor?

我的问题的简化示例:

我的模特:

class PersonManager(models.Manager):

    def complicated_list(self):

        from django.db import connection

        #Real query is much more complex        
        cursor.execute("""SELECT * FROM `myapp_person`""");  

        result_list = []

        for row in cursor.fetchall():
            result_list.append(row[0]); 

        return result_list


class Person(models.Model):
    name      = models.CharField(max_length=255);
    surname   = models.CharField(max_length=255);     
    age       = models.IntegerField(); 

    objects   = PersonManager();
Run Code Online (Sandbox Code Playgroud)

我在Django ORM中使用pagintation的方式:

all_objects = Person.objects.all();

paginator = Paginator(all_objects, 10);

try:
    page = int(request.GET.get('page', '1'))
except ValueError:
    page = 1

try:
    persons = paginator.page(page)
except (EmptyPage, InvalidPage):
    persons = paginator.page(paginator.num_pages)
Run Code Online (Sandbox Code Playgroud)

这样,Django变得非常聪明,并 …

python sql django pagination

11
推荐指数
2
解决办法
6606
查看次数

如何在django 1.7中取消应用第一次迁移

看起来回滚到任何迁移都可以使用:

./manage.py migrate <app> <migration_to_go_to>
Run Code Online (Sandbox Code Playgroud)

但是,这需要应用实际迁移,我需要回滚第一次迁移!

具体来说,我想回滚内置的"会话"应用程序(只有一个迁移,"0001_initial".)

有没有办法实现这个目标?

谢谢!

django django-1.7 django-migrations

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

芹菜链不与批次一起使用

乍一看,我非常喜欢Celery中的"批量"功能,因为我需要在调用API之前对一定数量的ID进行分组(否则我可能会被踢掉).

不幸的是,在稍微测试一下时,批处理任务似乎与其他Canvas原语(在本例中为链)不能很好地兼容.例如:

@a.task(base=Batches, flush_every=10, flush_interval=5)
def get_price(requests):
    for request in requests:
        a.backend.mark_as_done(request.id, 42, request=request)
        print "filter_by_price " + str([r.args[0] for r in requests])

@a.task
def completed():
    print("complete")
Run Code Online (Sandbox Code Playgroud)

因此,通过这个简单的工作流程

chain(get_price.s("ID_1"), completed.si()).delay()
Run Code Online (Sandbox Code Playgroud)

我看到这个输出:

[2015-07-11 16:16:20,348: INFO/MainProcess] Connected to redis://localhost:6379/0
[2015-07-11 16:16:20,376: INFO/MainProcess] mingle: searching for neighbors
[2015-07-11 16:16:21,406: INFO/MainProcess] mingle: all alone
[2015-07-11 16:16:21,449: WARNING/MainProcess] celery@ultra ready.
[2015-07-11 16:16:34,093: WARNING/Worker-4] filter_by_price ['ID_1']
Run Code Online (Sandbox Code Playgroud)

5秒后,filter_by_price()会像预期的那样被触发.问题是completed()永远不会被调用.

有什么想法可以在这里发生?如果不使用批次,什么可能是一个解决这个问题的好方法?

PS:我已经CELERYD_PREFETCH_MULTIPLIER=0像文档说的那样设置了.

python rabbitmq celery celery-task

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

Django 1.7 - 意外掉落一张桌子.如何恢复?

我不小心在Django 1.7项目中丢了一张桌子.我跑了makemigrations&migrate.两个命令都没有识别出表已丢失.所以他们没有任何影响.

我应该删除模型的代码,进行迁移,添加模型的代码并再次迁移吗?还是有更好的方法来恢复它?

python django database-migration django-1.7

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

CELERY WindowsError:[错误6]句柄无效

我是芹菜的新手,我正在按照他们网站上给出的教程我得到了这个错误

 from celery import Celery
 app = Celery('tasks', broker='pyamqp://guest@localhost//')

 @app.task
 def add(x, y):
     return x + y
Run Code Online (Sandbox Code Playgroud)

和cmd显示这样的错误

-------------- celery@DESKTOP-O90R45G v4.0.2 (latentcall)
---- **** -----
--- * ***  * -- Windows-10-10.0.14393 2016-12-16 20:05:48
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x4591950
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor …
Run Code Online (Sandbox Code Playgroud)

windows celery python-2.7

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

autoenv甚至在子文件夹中执行

我使用autoenv进行自动virtualenv激活.Python项目的顶级文件夹.env包含以下内容的文件

source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)

无论何时cd对项目的任何子文件夹执行此命令.然后抛出

-bash: venv/bin/activate: No such file or directory
Run Code Online (Sandbox Code Playgroud)

它失败了,因为它试图activate相对于子文件夹执行.为什么它甚至在子文件夹中执行?如何解决这个问题?

python virtualenv

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