首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >APScheduler与zerorpc不兼容

APScheduler与zerorpc不兼容
EN

Stack Overflow用户
提问于 2019-05-03 20:27:50
回答 1查看 100关注 0票数 0

看起来,使用APScheduler的调度作业与ZeroRPC不一致。

  • 当使用test(x)进行测试时,ZeroRPC工作得很好。
  • 当从run()开始时,调度程序反复返回以下异常:
代码语言:javascript
复制
gevent.exceptions.LoopExit: This operation would block forever
    Hub: <Hub '' at 0x1074aff60 select pending=0 ref=0 thread_ident=0x70000c356000>
    Handles:
[]

下面是代码片段:

代码语言:javascript
复制
mport zerorpc
from apscheduler.schedulers.background import BlockingScheduler
from datetime import datetime

rpc = zerorpc.Client()
rpc.connect("tcp://{}:{}".format('127.0.0.1', 4242))

def test(x):
    rpc.write('variable_name', x)

def run():
    def test():
        rpc.write('variable_name', 0)
        rpc.write('variable_name', 1)

    scheduler = BlockingScheduler()
    scheduler.add_job(
        func=test,
        trigger='interval',
        seconds=1,
        start_date=datetime.now(),
    )

    scheduler.start()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-03 22:09:39

APScheduler在调度新任务时创建新线程。ZeroRPC需要每个打开的线程都有一个实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55976687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档