小编Lio*_*bro的帖子

如何诊断挂起的芹菜工人

我正在开始使用Celery进行Django项目.为了本地开发目的,我根据这些指导http://ask.github.com/celery/tutorials/otherqueues.html#django-database设置了djcelery和djkombu(数据库传输),但计划使用rabbitmq生产服务器.

我发现它有效,但是一个或多个工人会随意挂起.工作人员依赖于不同的任务,因此不是一个特定任务进入无限循环的情况.当我试图关闭芹菜时,在日志中我通常会看到除了一个以外的所有工人.在工作人员挂起之前和之后,我都尝试使用celeryctl获取有关工作人员的信息,但celeryctl总是失败并显示消息"错误:没有节点在时间限制内回复.".我也尝试过检查工作人员http://docs.celeryproject.org/en/latest/userguide/workers.html#inspecting-workers但是所有的方法都没有返回.

关于如何诊断导致工人挂起或有帮助的任何想法.

celery django-celery

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

EMACS Lisp程序员如何读取文本文件以进行非编辑?

EMACS Lisp程序员做什么,当他们想写一些大致相当于......的东西时...

for line in open("foo.txt", "r", encoding="utf-8").readlines():
    ...(split on ws and call a fn, or whatever)...
Run Code Online (Sandbox Code Playgroud)

..?

当我查看EMACS lisp帮助时,我看到有关将文件打开到文本编辑缓冲区的功能 - 不完全是我想要的.我想我可以编写函数来访问文件的行,但是如果我这样做,我就不希望用户看到它,而且从文本处理的角度看它似乎不是很有效.

emacs file-io elisp

6
推荐指数
2
解决办法
230
查看次数

为什么没有tcl的"if"返回值?

为什么这不像我想的那样工作?

set x [if {1} {return 2} {return 3}]
Run Code Online (Sandbox Code Playgroud)

命令输出显示2,但是当你检查它的值时x,发现它是未定义的..!

我看过一个解决方法,......

proc give {x} {return $x}
set x [if {1} {give 2} {give 3}]
Run Code Online (Sandbox Code Playgroud)

......但我不明白为什么第一个不起作用.

tcl 8.5文档中if:

"命令的返回值是执行的正文脚本的结果,如果没有任何表达式非零并且没有bodyN,则为空字符串."

问题:

  1. 为什么不set x [if {1} {return 2} {return 3}]设置值x
  2. 鉴于这set x [if {1} {return 2} {return 3}]不起作用,如何在交互式shell上tclsh显示" 2"?
  3. 鉴于在交互式shell上tclsh显示" 2",它是如何set x保持未定义的?

tcl ternary-operator

4
推荐指数
2
解决办法
1184
查看次数

标签 统计

celery ×1

django-celery ×1

elisp ×1

emacs ×1

file-io ×1

tcl ×1

ternary-operator ×1