小编zim*_*ies的帖子

如何记录django芹菜任务中发生的异常

我已经设置芹菜使用他们的daemonization指令来处理我的django应用程序(http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#daemonizing)

这是我的测试任务

@periodic_task(run_every=timedelta(seconds=10))
def debugger():
    logger.info("Running debugger")
    raise Exception('Failed')
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来了解此任务(调试器)由于异常而失败.Celery的日志文件打印logger.info("运行调试器")日志,但它不记录异常.我错过了什么,或者我应该以其他方式找到失败的任务?

logging celery django-celery

23
推荐指数
3
解决办法
7788
查看次数

Coffeescript相当于python'pass'语句

在Python中,可以使用'pass'语句来做任何事情:

if true:
    pass
Run Code Online (Sandbox Code Playgroud)

coffeescript中有类似的陈述吗?我正在尝试执行switch语句,如果满足某些条件则不执行任何操作.

switch variable:
  when 5 then pass
  else do variable
Run Code Online (Sandbox Code Playgroud)

syntax coffeescript

20
推荐指数
4
解决办法
3640
查看次数

Haystack查询集包含None元素

我正在使用Haystack进行搜索,返回的结果是SearchQuerySet包含None元素:

>> SearchQuerySet().models(Question, Document, Idea)
>> [<SearchResult: idea.idea (pk=3875)>, None, None, None]
Run Code Online (Sandbox Code Playgroud)

运行rebuild_index没有帮助.如果我从第一行删除.models()调用,问题就会消失.我可以从结果中筛选出无元素,但我想知道这是否是预期的行为?

我正在使用Django 1.4,Whoosh和Haystack 2.0.0-beta

django-haystack

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

列表视图的 Rails Admin Eager 加载关系

我们Ticket在 rails admin 中有一个加载非常缓慢的模型的列表视图。

class Ticket < ActiveRecord::Base
  belongs_to :crew
end
Run Code Online (Sandbox Code Playgroud)

之所以慢,是因为我们crew通过rails_admin_pretty_print访问其他相关模型的方法来显示票证的关系。

class Crew < ActiveRecordBase
   belongs_to :pool
   belongs_to :leader

   def rails_admin_pretty_print
      "leader : #{leader.name} at time #{pool.datetime}"
   end
end
Run Code Online (Sandbox Code Playgroud)

我想在初始查询中急切加载所有这些对象,以加快请求速度。就像是:

config.model "Ticket" do
   object_label_method :rails_admin_pretty_print
   list do
      field :crew, includes(:pool, :leader)
   end
end
Run Code Online (Sandbox Code Playgroud)

我在rails 管理文档中找不到任何方法来做到这一点。有没有办法做到这一点?

ruby-on-rails eager-loading rails-admin

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

如何访问 ruby​​ 整数的符号位?

我想直接访问 ruby​​ 整数的符号位。

Ruby 允许通过[]操作符访问 int 的位: 1[0] -> 1 2[1] -> 1

我尝试过-1[-1](访问最后一个),但这不起作用。

ruby bit-manipulation

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

通过集合获取方法将初始化选项传递给Backbone Model

我有一个Backbone模型,我想用一些选项初始化:

 Payment.Payment = Backbone.Model.extend

    initialize: (attributes, options) ->
        @user = options.user
Run Code Online (Sandbox Code Playgroud)

这些付款通过付款收集从服务器获取

# Collections: Payments
Payment.Payments = Backbone.Collection.extend
    model: Payment.Payment
    url: 'api/payments'

    initialize: (models, options) ->
        @user = if options?.user then options.user else app.user
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试从服务器获取一组付款时,我无法找到将用户选项传递给每个付款模式的方法:

payments = new Payment.Payments
payments.fetch()
Run Code Online (Sandbox Code Playgroud)

我已经尝试将用户选项作为参数传递给fetch调用,但这不起作用.那么如何实例化与用户一起从服务器获取的所有支付模型?

collections initialization backbone.js

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