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

2018-06-02 13:36:14 +08:00
 jakeyfly

我的 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 这个关键参数,是不是反序列化的时候引用没了?以我现在的水平真的想不明白。。。。。。难道我就只能不保存任务了?

1839 次点击
所在节点    问与答
4 条回复
Sylv
2018-06-02 13:40:23 +08:00
呃,我想问您有学过一遍 Python 基础语法吗?
jakeyfly
2018-06-02 14:08:59 +08:00
@Sylv 我上面就是太概的意思 就是伪代码,要表述的是 把一个实例方法 add_job 进调度器的时候提示 缺少 self 参数,感觉不解
Yourshell
2018-06-02 18:24:15 +08:00
你定义的 run 应该是实例方法吧?
jakeyfly
2018-06-03 17:31:11 +08:00
@Yourshell 最啊!是实例方法啊!因为有很多同样的任务,只是参数不同,所以就建了个类,用一个 FOR 循环来不断的往里加任务。然后持久化任务保存就提示这个错误。不知道为啥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/459801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX