问题标签 [twistd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

python - 使用 twistd 启动 python Klein 不会引发模块错误

  • 嗨,我正在尝试使用twistd方法启动 Klein 服务器。我通过阅读 Klein文档进行了尝试。
  • 但是当我尝试启动服务器时,它说找不到模块。

这是我尝试过的示例代码,

helloworld.py:

然后我运行以下命令:

我收到以下错误:

0 投票
1 回答
939 浏览

python - 如何为 Twisted-Klein 服务器上的特定 API 端点禁用 HTTP 基本身份验证

我有一个简单的Twisted-Klein服务器,全局启用了 HTTP 基本身份验证:

我只想为特定的 API 端点禁用身份验证,例如,在这种情况下为/healthAPI 端点。我已经阅读了文档,但无法完全理解它。

0 投票
1 回答
456 浏览

python - Buildbot 不以默认配​​置启动

以为我会尝试一下 buildbot 。所以我按照教程做了这些:

sudo pip install virtualenv 'buildbot[bundle]' virtualenv bb-master source bb-master/bin/activate buildbot create-master master buildbot start

一切顺利,直到最后一个命令,当我得到:

跟踪twistd.log 直到启动完成.. buildmaster 启动时间超过10 秒,因此我们无法确认它是否正确启动。请“tail twistd.log”并查找显示“BuildMaster 正在运行”的行以验证正确启动。

twistd.log是空的,我没有得到其他输出。我试过添加--nodaemon无济于事。还有其他人遇到这个问题吗?

Python 3.6.0、Buildbot 0.9.5、Twistd 17.1.0、Arch Linux(也在 Alpine v3.5 上尝试过,结果相同)

编辑:除了上述步骤之外,我还按照说明将 master.cfg.sample 重命名为 master.cfg。

0 投票
0 回答
53 浏览

python - 检查使用 twistd 初始化扭曲服务是否失败并出现错误

我使用twistd插件系统启动 Twisted 应用程序。在这个SO answer的帮助下,我实现了一个 PID 文件(其中写入了进程 ID)来确定守护程序是否已成功启动。

对 twisted 守护程序(已启动或尚未启动)的监视由本机 (OS) 应用程序完成,该应用程序仅检查 PID 文件是否存在并读取其内容以查看是否存在具有该 PID 的活动进程。

到目前为止,一切都很好。我编写的扭曲插件创建了一个Service对象,它接受一个Driver对象作为参数。所有硬件特定的操作都包含在这个Driver类中。

我认为服务的内部细节超出了问题的范围。但只是为了澄清会有很多这样的Service通过网络相互交互。

现在,考虑驱动程序使用 UART/串行通信与硬件交互。目标硬件始终使用固定名称枚举自身,该名称在驱动程序中用于识别硬件的(物理)可用性。

在某些情况下,硬件可能没有(物理上)连接到系统。因此,我希望实现一种方法来识别硬件是否实际连接。

这是一个最小的扭曲插件代码

这是服务和司机

从上面的代码可以看出,如果没有枚举为TARGET_HARDWARE的硬件设备,那么self.ser就是None。调用时会导致错误操作control_something()

我想防止这种情况发生,或者更准确地提示用户在使用twistd.

0 投票
1 回答
405 浏览

debian - Debian 升级后找不到 Twistd 插件

在我从 debian jessie 升级到 stretch 后,twistd 不再找到我的插件。我找不到问题所在。我想我现在需要指定一些以前不需要或类似的路径。

我收到错误/usr/bin/twistd: Unknown command: otfbot消息,在命令列表中,软件的两个命令不再列出。twisted 插件的目录结构是

并且都实例化了一个 ServiceMaker。

0 投票
1 回答
176 浏览

twisted - 正确使用 API 和 daemonized twisted 中的线程

我正在使用其 API 使用 threading.Thread 的服务,并且我想在其中使用 Deferreds。

如果我像标准 python 模块一样运行它,我没有任何问题。就像是:

如果我使用 twistd -y运行以下 .tac,则该服务根本不起作用:

我认为第二种情况的问题是主反应器线程本身没有产生服务线程,但是我不明白为什么(以及是否)它在第一种情况下发生......我使用 callLater 作为解决方法 -成功地:

但我不知道这是否是解决这个问题的正确方法。你有什么建议吗?

0 投票
2 回答
35 浏览

python - 推迟所有的通用方法?

我需要一些类似于 JS 的Promise.all()的扭曲的东西。我找到了这个FireWhenAllFinish示例,但它有问题(抛出异常,可能已过时)。

这不是一个真正的问题,因为我找到了解决方案,见下文。仍然在此处发布,以便对其他人有所帮助。

0 投票
0 回答
57 浏览

python - 扭曲吞咽异常

我基本上复制了这个例子。只是试图让最基本的工作:发布和消费。因此添加了一个简单的basic_publish

消费者.py

执行与python3 -u consumer.py

我得到的唯一错误是:Unhandled error in Deferred:. 就这样?相当令人沮丧。

  1. 为什么会抛出异常?
  2. 我的追溯在哪里?
0 投票
1 回答
296 浏览

python - 在 twistd 而不是 python 中运行

我需要调试我扭曲的应用程序。我正在使用 pycharm,据我了解,我可以使用 --no-daemon 选项在 twistd 中启动我的应用程序,以便逐步执行代码。

我有以下代码来启动服务器。

我看到 twistd 有一个 -y 选项,但我无法让它运行我的应用程序。

我的目录树如下。

我一直通过执行调用 main() 函数的 run.py 来运行应用程序。

如何在命令行上使用 twistd 启动此应用程序以便调试该应用程序?

作为参考,我指的是如何在 PyCharm中调试扭曲的应用程序,以便尝试在 pycharm 中调试扭曲的应用程序。

如果有更好的方法可以在请求中设置断点,请告诉我。

谢谢!

0 投票
2 回答
513 浏览

python - 为什么 twistd 不能从当前工作目录导入模块?

请考虑以下测试用例。

项目目录的结构如下:

bar.py包含一个平凡的类定义:

test.tac,Twisted 应用程序配置文件,包含一个导入语句:

运行时twistd -ny test.tac,我收到以下错误:

这是非常令人惊讶的,因为python test.tac不会产生错误。为了进一步调试,我修改test.tac如下:

这表明运行python <filename>会将当前工作目录添加到路径之前,而运行twistd <filename>不会。

我的问题是双重的:

  1. 这是一个错误,还是有充分的理由twistd这样做?
  2. 解决此问题的推荐方法是什么twistd。我可以设置某种选项还是需要手动完成?