芹菜的延期交货。
celery-slack-webhooks的Python项目详细描述
芹菜松是一种Celery 将消息发布到空闲通道的扩展 关于芹菜应用程序,它的节拍表,以及它的工作任务 执行。可选地,这些消息可以链接到 Flower任务页。
先决条件
要使用此软件包,您将需要一个Slack应用程序,它是 松弛工作区。您可以从创建应用程序 this page。此应用应具有传入 webhook注册到您的一个空闲频道。见 Slack incoming webhooks了解更多 信息。
安装
芹菜松弛是pypi上提供的一个python包。 它可以使用pip:
安装pipinstallcelery-slack
基本用法
芹菜松弛的最基本实现需要芹菜实例对象 以及对应于松弛通道的松弛webhook。一个简单的例子可能 像这样:
fromceleryimportCeleryfromcelery_slackimportSlackifySLACK_WEBHOOK='https://hooks.slack.com/services/XXX/YYY/ZZZ'app=Celery('project')app.config_from_object('project.config')slack_app=Slackify(app,SLACK_WEBHOOK)if__name__=='__main__':app.start()
高级用法
Celery Slack提供了许多配置选项来定制外观 以及松弛消息的输出。以下是 分机:
DEFAULT_OPTIONS={"slack_beat_init_color":"#FFCC2B","slack_broker_connect_color":"#36A64F","slack_broker_disconnect_color":"#D00001","slack_celery_startup_color":"#FFCC2B","slack_celery_shutdown_color":"#660033","slack_task_prerun_color":"#D3D3D3","slack_task_success_color":"#36A64F","slack_task_failure_color":"#D00001","slack_request_timeout":1,"flower_base_url":None,"show_celery_hostname":False,"show_task_id":True,"show_task_execution_time":True,"show_task_args":True,"show_task_kwargs":True,"show_task_exception_info":True,"show_task_return_value":True,"show_task_prerun":False,"show_startup":True,"show_shutdown":True,"show_beat":True,"show_broker":False,"use_fixed_width":True,"include_tasks":None,"exclude_tasks":None,"failures_only":False,"webhook":None,"beat_schedule":None,"beat_show_full_task_path":False,}
这些选项的任何子集都可以通过以下形式传递给构造函数 关键字参数的。例如
options={# Some subset of options}app=Celery('project')slack_app=Slackify(app,SLACK_WEBHOOK,**options)
大多数选项都是不言而喻的,但以下是一些附加的详细信息:
- 松弛颜色:与松弛相关联的左垂直条颜色
- 邮件附件
- slack_请求超时:以秒为单位的slack消息请求超时
- flower_base_url:例如https://flower.example.com,如果提供,则松弛度
- 邮件标题将链接到任务页 在Flower
- show_task_id:显示任务的uuid。
- show_task_执行时间:以分钟/秒为单位显示完成任务的时间
- 显示芹菜主机名:在芹菜/节拍消息上显示计算机主机名
- show_task_args:显示任务的args
- show_task_args:显示任务的关键字args
- 显示任务异常信息:显示失败任务的回溯
- 显示任务返回值:显示成功任务的返回值
- show_task_prerun:在任务执行开始时发布消息
- show_startup:芹菜开始时发送消息
- show_shutdown:芹菜停止时发送消息
- 显示节拍:节拍开始时发布消息
- show_broker:在芹菜/节拍断开或重新连接时发送消息
- 致经纪人
- 使用固定宽度:对参数使用松弛固定宽度格式,Kwargs,
- 检索和异常信息
- 包含任务:要包含的任务路径列表。如果使用,发布任务
- 仅用于这些任务的消息。使用正则表达式模式匹配。 例如,特定任务的module.submodule.taskname或 对于该子模块中的所有任务,module.submodule。不能使用 与exclude_tasks一起使用。
- 排除任务:要排除的任务路径列表。如果使用,则取消任务
- 仅用于这些任务的消息。所有其他任务都将产生松弛 信息。不能与include_tasks一起使用。使用 正则表达式模式匹配。
- failures\u only:仅在任务失败时发布消息。
- webhook:唯一需要的参数。对应于a
- 空闲频道。
- beat_schedule:芹菜节拍计划。如果提供,节拍初始化
- 消息将显示计划。
- beat_show_full_任务th:显示完整模块任务路径。如果为假
- (默认)仅显示子模块taskname
警告
注意slack有rate limits for incoming webhook requests 大约每秒1个请求。 这次延期几乎没有努力遵守这些利率限制。你应该 确保芹菜松懈的实施不违反这些限制 通过调整任务计划或限制生成 使用include_tasks或exclude_tasks选项松弛消息。
如果webhook响应包含响应代码429,芹菜松弛将抑制 在响应头后重试给定时间段内的所有消息。在 返回时,芹菜松弛将向松弛发布警告消息。