V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jakeyfly
V2EX  ›  问与答

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

  •  
  •   jakeyfly · 2018-06-02 13:36:14 +08:00 · 1835 次点击
    这是一个创建于 2144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 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 条回复    2018-06-03 17:31:11 +08:00
    Sylv
        1
    Sylv  
       2018-06-02 13:40:23 +08:00 via iPhone
    呃,我想问您有学过一遍 Python 基础语法吗?
    jakeyfly
        2
    jakeyfly  
    OP
       2018-06-02 14:08:59 +08:00
    @Sylv 我上面就是太概的意思 就是伪代码,要表述的是 把一个实例方法 add_job 进调度器的时候提示 缺少 self 参数,感觉不解
    Yourshell
        3
    Yourshell  
       2018-06-02 18:24:15 +08:00 via iPhone
    你定义的 run 应该是实例方法吧?
    jakeyfly
        4
    jakeyfly  
    OP
       2018-06-03 17:31:11 +08:00
    @Yourshell 最啊!是实例方法啊!因为有很多同样的任务,只是参数不同,所以就建了个类,用一个 FOR 循环来不断的往里加任务。然后持久化任务保存就提示这个错误。不知道为啥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3709 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 04:40 · PVG 12:40 · LAX 21:40 · JFK 00:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.