V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jakeyfly
V2EX  ›  问与答

apscheduler 持久化作业存储出现问题,应该是序列化的问题,能力有限求大佬们看看

  •  
  •   jakeyfly · Jun 2, 2018 · 2266 views
    This topic created in 2886 days ago, the information mentioned may be changed or developed.

    我的 TASK 是一个类 class tasks: def run(): pass

    由另一个类来增加作业 class TaskStructure: task = tasks(xx) scheduler.add_job(task.run ........)

    基本上是以上这样结构 可是当我选择非内存存储作业的时候,比如 REDIS SQL MANGO 这类的时候( APS 也就这几种)就会报错,报错的 最后一行如何 ine 125, in run_job retval = job.func(*job.args, **job.kwargs) TypeError: run() missing 1 required positional argument: 'self'

    这是不是序列化的问题? 还是别的什么问题? 为什么会缺少 self 这个关键参数,是不是反序列化的时候引用没了?以我现在的水平真的想不明白。。。。。。难道我就只能不保存任务了?

    4 replies    2018-06-03 17:31:11 +08:00
    Sylv
        1
    Sylv  
       Jun 2, 2018 via iPhone
    呃,我想问您有学过一遍 Python 基础语法吗?
    jakeyfly
        2
    jakeyfly  
    OP
       Jun 2, 2018
    @Sylv 我上面就是太概的意思 就是伪代码,要表述的是 把一个实例方法 add_job 进调度器的时候提示 缺少 self 参数,感觉不解
    Yourshell
        3
    Yourshell  
       Jun 2, 2018 via iPhone
    你定义的 run 应该是实例方法吧?
    jakeyfly
        4
    jakeyfly  
    OP
       Jun 3, 2018
    @Yourshell 最啊!是实例方法啊!因为有很多同样的任务,只是参数不同,所以就建了个类,用一个 FOR 循环来不断的往里加任务。然后持久化任务保存就提示这个错误。不知道为啥
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   994 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 20:12 · PVG 04:12 · LAX 13:12 · JFK 16:12
    ♥ Do have faith in what you're doing.