问题标签 [luigi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Luigi Visualiser 将作业保留一天
我一直在尝试在调用运行时将 --scheduler-remove-delay 参数添加到作业中,并且在 client.cfg 中我添加了 remove-delay 属性
[调度程序] record_task_history = True 删除延迟 = 86400.0
但这些似乎都不起作用。有任何想法吗?
这里已经有一个几乎类似的问题 -
python - 使用 Luigi 管道时组织文件?
我将 Luigi 用于我的工作流程。我的工作流程分为三个通用部分——导入、分析、导出。在每个部分中,都有多个 Luigi 任务。
我可以将所有内容都放在一个文件中。但是,如果我想将所有内容分开,例如拥有data_import.py
,analysis.py
和export.py
.
例如,如果data_import.py
看起来像:
但是如果 export.py 中的任务依赖于 import.py 中的任务怎么办。我会这样做:
如果我将较大的项目分解为多个.py
文件,那么告诉 Luigi 哪些必需任务在哪个文件中的最佳方法是什么?似乎这种方法会变得很麻烦。
python - 如何正确配置 Luigi 任务重试?
我正在尝试配置 Luigi 的重试机制,以便将失败的任务重试几次。然而,当任务重试成功时,Luigi 退出失败:
所以问题是:如何配置 Luigi(我已经使用 pip install 安装了 2.3.3 版),以便当任务失败一次,但随后成功重试时,Luigi 将成功退出This progress looks :)
而不是失败This progress looks :(
?
这是我提出的最小调度程序和工作人员配置,以及演示行为的任务:
我的任务.py:
示例执行:
PYTHONPATH=. luigi --module mytasks MasterTask --workers=2 --path='/tmp/job-id-18'
luigi - 以编程方式启动 luigi 而不是等待工作结果?
所以这个问题可能相当简单。我有一份应该运行约 30 分钟的工作,我不希望我的程序等待 30 分钟才能得到结果。我想获得一个任务名称或 ID 或类似的东西并将控制权返回给用户,以便用户以后可以使用我的程序查询进程状态。
https://github.com/spotify/luigi/blob/695010420105dc836096201a00d2f032f0143b84/luigi/interface.py
查看 interface.py 我没有看到任何相关内容。不可能吗?或者我如何实现这一目标?谢谢!
附言。如果有人能指出我在哪里寻找查询 luigi 守护进程的任务状态,我将不胜感激。
amazon-s3 - 如何用 FakeS3 测试 Luigi?
我正在尝试测试我的Luigi使用FakeS3管道来模拟我的 S3 端点。为了让boto能够与 FakeS3 交互,必须使用如下方式设置连接OrdinaryCallingFormat
:
但是当使用 Luigi 时,这个连接被埋在s3 模块中。luigi.cfg
我能够通过修改我的并添加一个 s3 部分来传递大部分选项,如
但我不知道如何为calling_format
.
现在我被卡住了,不知道如何继续。我能想到的选项:
- 弄清楚如何通过
OrdinaryCallingFormat
S3Connection
通过toluigi.cfg
- 弄清楚如何强制
boto
在.aws/config
或boto.cfg
- 接受使用
FakeS3
的默认值calling_format
boto
碰巧SubdomainCallingFormat
无论它是什么意思)。
关于如何解决这个问题的任何想法?
python - Luigi 工作流程中的 MySQL 目标
我的TaskB 需要TaskA,完成后TaskA 写入一个MySQL 表,然后TaskB 将此输出作为输入。
我似乎无法弄清楚如何在 Luigi 中做到这一点。有人可以在这里举个例子或给我一个简单的例子吗?
python - 如何在 Luigi 中创建非持久任务?
作为 Luigi 管道的一部分,我们希望通知微服务等待使用 POST 请求计算的数据。
到目前为止,我们一直在使用,RunAnywayTarget
但如果我们启动 Luigi 的速度快于数据更改的速度,就会出现问题。所以我的问题是,
创建在管道中执行某些操作但不创建任何数据的任务的最佳模式是什么,例如向 REST 服务发出 POST 请求、向 Kafka 发送消息等...?
我知道我可以创建一个没有输出的任务,它在 run 方法中执行请求,但是如果由于某种原因最终服务在第一次运行期间失败,应该如何再次重新运行此 NotificationTask?依赖项将在那里,并且不会再次运行。
python - Python中的执行流程
我正在使用与 Linux 终端交互的 Python3.4 Luigi 管道,我需要接受用户输入。我的代码如下所示:
我希望终端在 之后不会打印任何内容"Enter data: "
,但它会不断使用调试信息更新终端(即要求调度程序工作,等待一级完成),因此用户无法输入输入。有什么方法可以防止终端在接受用户输入之前打印?
谢谢
更新
即使用户没有输入输入,似乎也会执行第一类。我不确定为什么会这样,.,,
python - Luigi '没有可用的实例'
在我的 Windows VM 上,我正在使用 Luigi 运行一些小作业。我想知道为什么在每次运行开始时我都会收到一条消息说“没有可用的实例”。每次我重新运行程序时,都会再打印一个;所以在 10 次运行后,我有 10 条“没有可用的实例”消息。
它似乎不会影响我正在运行的模块,所以我只是出于好奇而问:为什么 Luigi/Command Prompt 会告诉我这个,有什么后果吗?
编辑:getpcmd 是产生消息的 wmic 命令的来源。那条轨迹是:
我认为罪魁祸首可能是_WorkerScheduleFactory
,但这是猜测
python - 我可以将 Luigi 管道错误路由到 Sentry 吗?
我的团队使用Sentry
跟踪错误,因此我不希望使用 Luigi 的内置电子邮件功能将我们所有的报告保存在一个地方。
这就是我目前的设置方式,它似乎完全跳过了 Sentry: