python - 带有 APScheduler 的 Pyinstaller - 带有 IntervalTrigger 的 TypeError
问题描述
我遇到了和这里一样的问题(见下面的链接),简单地说:无法创建使用 APScheduler 的 python 脚本的 .exe
Pyinstaller 3.3.1 & 3.4.0-dev 使用 apscheduler 构建
所以我按照建议做了:
from apscheduler.triggers import interval
scheduler.add_job(Run, 'interval', interval.IntervalTrigger(minutes = time_int),
args = (input_file, output_dir, time_int),
id = theID, replace_existing=True)
确实导入 interval.IntervalTrigger 并将其作为参数传递给 add_job 解决了这个特定的错误。
但是,现在我遇到了:
类型错误:add_job() 为参数 'args' 获得了多个值
我对其进行了测试,并且由于现在调用触发器的方式,我可以确定它正在发生。我还尝试分别定义 trigger = interval.IntervalTrigger(minutes = time_int) ,然后只传递触发器,同样的情况发生了。
如果我忽略了 try/except 的错误,我发现它根本没有将作业添加到 sql 数据库中(我使用 SQLAlchemy 作为作业存储)。最初我认为这是因为我在 for 循环中添加了多个作业,但它也发生在单个作业添加中。
如果最初的问题,任何人都知道其他解决方法,或者知道为什么会发生此错误?我在网上也找不到任何东西:(
解决方案
事情总是在早上更好。
对于遇到此问题的其他任何人:您不需要同时使用 'interval' 和 interval.IntervalTrigger() 作为参数,代码应该是,这就是错误的来源。
scheduler.add_job(Run, interval.IntervalTrigger(minutes = time_int),
args = (input_file, output_dir, time_int),
id = theID, replace_existing=True)
推荐阅读
- r - 无法使用 ggplot2 显示线和点
- html - 我们服务器正在运行 NGINX,但需要更多配置。我能做些什么?
- php - 为什么执行在 wordpress_remote_post() 函数调用处停止?
- python - 如何在python中保存大量文件
- database - 是否有像 MongoDB Compass for Firebase Firestore 这样的客户端应用程序?
- html - 输入类型电子邮件允许一切
- artifactory - 从 Jfrog 工件中删除工件不会释放磁盘空间
- firebase - 在android studio中将firebase添加到flutter时出错:插件项目:firebase_core_web未找到。请更新 settings.gradle
- java - angularJS 模型上显示多条错误消息
- react-native - react-native-gesture-handler 在移动完成后不更新值