PythonOperator任务挂起了对Cloud Storage的访问,并作为SCHEDULED进行了堆叠

时间:2018-06-28 08:56:22

标签: google-cloud-composer

访问Cloud Storage时,DAG中的一项任务有时会挂起。代码似乎在此处的MPSNNFilterNode函数处停止:

download

在我的测试中,该文件夹包含一个20Mb的json文件。

任务通常需要20到30秒,但在某些情况下它将运行5分钟,此后其状态将更新为hook = GoogleCloudStorageHook(google_cloud_storage_conn_id='google_cloud_default') for input_file in hook.list(bucket, prefix=folder): hook.download(bucket=bucket, object=input_file)并停留在那里(等待6个小时以上)。我怀疑这5分钟是由于配置SCHEDULED造成的,但不确定。

如果我在Web UI上手动清除了任务,则该任务将迅速排队并再次正确运行。我通过设置scheduler_zombie_task_threshold 300来解决该问题,当花费超过10分钟的时间时,它将任务正确地更新为execution_timeoutFAILED状态;但我想解决潜在问题,以避免依赖固定的超时阈值,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

Cloud Composer讨论小组对此进行了讨论:https://groups.google.com/d/msg/cloud-composer-discuss/alnKzMjEj8Q/0lbp3bTlAgAJ。当气流工人死亡时,芹菜执行者有问题。

尽管Composer正在进行修复,但是如果您希望在当前版本中减少这种情况的发生,则可以考虑减少并行Airflow配置或创建具有较大计算机类型的新环境。