【问题标题】:twisted exception on periodic task周期性任务的扭曲异常
【发布时间】:2011-12-22 18:42:58
【问题描述】:

我有一个在 twisted 下运行的 django 应用程序。 我有带有以下代码的 server.py:http://slexy.org/view/s21TBxGPut 当我使用 twisted 运行 server.py 时,出现以下异常:http://slexy.org/view/s2WqQDMvsh

异常是由 server.py 中的最后 2 行引起的。如果我评论这些行,我也不例外。 我不知道如何调试这样的东西。 也许有人知道我做错了什么?

非常感谢,Arshavski Alexander。

【问题讨论】:

    标签: django twisted


    【解决方案1】:

    您的TimerService 构造错误:

    ts2 = TimerService(3600, call_command("tamarin_pull_logs"))
    

    这与:

    some_func = call_command("tamarin_pull_logs")
    ts2 = TimerService(3600, some_func)
    

    call_command 返回什么?它不是您粘贴的一部分,但由于您的例外是:

    exceptions.TypeError: 'NoneType' object is not callable
    

    我猜它会返回None。正如异常指出的那样,None 是不可调用的。

    您正确设置了第一个TimerService

    ts = TimerService(86400, check_all_notifications)
    

    请注意,您没有在该语句中调用 check_all_notifications。您将其传递TimerService。您需要为您的其他服务执行相同的操作:

    ts2 = TimerService(3600, call_command, "tamarin_pull_logs")
    

    恰好TimerService 被构造为支持调用带有一些参数的函数,因此它同时接受可调用和任意额外参数,并在需要调用时将这些参数传递给可调用对象。

    【讨论】:

    • 非常感谢。这是一个伟大而有用的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多