我已经设置芹菜使用他们的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("运行调试器")日志,但它不记录异常.我错过了什么,或者我应该以其他方式找到失败的任务?
在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) 我正在使用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
我们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 整数的符号位。
Ruby 允许通过[]操作符访问 int 的位:
1[0] -> 1
2[1] -> 1
我尝试过-1[-1](访问最后一个),但这不起作用。
我有一个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调用,但这不起作用.那么如何实例化与用户一起从服务器获取的所有支付模型?
backbone.js ×1
celery ×1
coffeescript ×1
collections ×1
logging ×1
rails-admin ×1
ruby ×1
syntax ×1