小编Snw*_*wBr的帖子

Zookeeper - 我在哪里可以找到正在运行的 Zookeeper 实例的“真实”版本?

我最近安装了一个带有 Exhibitor 的新 ZK 节点,它开始正常。当我执行 atelnet localhost 2181然后运行 ​​astats以查看版本时,即使我安装了 3.4.11,我仍然在输出中看到 3.4.5 版本。我试图找到 ZooKeeper 在哪里读取版本号,但它只是一个 .jar 和一些 lib 文件。你知道我在哪里可以得到我应该运行的“真实”版本吗?谢谢!

这是我在做的时候看到的telnet

myserver:/tmp/zookeeper # telnet localhost 2181
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
Clients:
 /127.0.0.1:53133[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 41
Sent: 40
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)

运行进程(ps aux | grep zookeeper)显示: …

apache-zookeeper

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

如何获取运行任务的队列 - celery

我是使用 celery 的新手,有一个问题。我有这个简单的任务:

@app.task(name='test_install_queue')
def test_install_queue():
    return subprocess.call("exit 0",shell=True)
Run Code Online (Sandbox Code Playgroud)

我稍后会在类似的测试用例中调用此任务

result = tasks.test_default_queue.apply_async(queue="install")
Run Code Online (Sandbox Code Playgroud)

任务在队列中成功运行install(因为我在 celery 日志中看到它,并且它完成得很好。但我想知道一种以编程方式test_install_queue从存储在result.

谢谢!

编辑:

我已将任务更改为:

@app.task(name='test_install_queue',bind=True)
def test_install_queue(self):
    return self.request.__dict__
Run Code Online (Sandbox Code Playgroud)

然后我使用的结果apply_async如下:

result = tasks.test_install_queue.apply_async(queue="install")
assert "install" in result.get()["hostname"]
Run Code Online (Sandbox Code Playgroud)

解决方法是工作程序(主机名)与工作程序中初始化的唯一队列具有相同的名称。

python queue task celery

3
推荐指数
2
解决办法
4979
查看次数

标签 统计

apache-zookeeper ×1

celery ×1

python ×1

queue ×1

task ×1