我是气流的新手,我正在尝试使用 GoogleCloudStorageDownloadOperator 进行一些简单的操作:
default_args = {
'start_date': airflow.utils.dates.days_ago(0),
'schedule_interval': None,
'retries': 1,
'retry_delay': timedelta(minutes=5),
'params': {
'work_dir': '/tmp'
}
}
dag = DAG(
'foo',
default_args=default_args,
description='This is foobar',
schedule_interval=timedelta(weeks=1),
dagrun_timeout=timedelta(minutes=60))
mock_download = GoogleCloudStorageDownloadOperator(
task_id='download-foo-from-gcp',
bucket='foo-data',
object='{% if (task_instance.pid % 2 == 0) %}foo{% else %}bar{% endif %}/data.tar.gz',
filename='{{ params.work_dir }}/data.tar.gz',
google_cloud_storage_conn_id='google_cloud_default',
dag=dag
)
Run Code Online (Sandbox Code Playgroud)
例如,虽然我可以在 PyCharm 中运行此任务(使用airflow test),但从 Web 界面(预定)触发时它始终失败。日志中的错误消息完全没有用,至少可以说:
...
[2020-01-09 17:04:18,871] {gcs_download_operator.py:86} INFO - Executing download: crunchbase-mock-data, foo/data.tar.gz, /tmp/data.tar.gz
[2020-01-09 17:04:28,751] {logging_mixin.py:112} INFO - [2020-01-09 17:04:28,751] {local_task_job.py:103} INFO - Task exited with return code -6
Run Code Online (Sandbox Code Playgroud)
任何人都可以对此有所了解吗?-6到底是什么意思?有没有办法查看那里发生的事情的更多细节?
我在运行 tweepy exits 并返回代码 -6 的 Airflow 任务中遇到了同样的问题。
您使用的是 Mac OS High Sierra(或更高版本)吗?如果是这样,请参阅/sf/answers/3656129081/。它解决了我的问题。
基本上,airflow test/PyCharm仅在进程中运行任务,但调度程序将启动一个工作进程,该进程将调用fork(),显然,High Sierra 引入了一些新的安全更改,这些更改破坏fork()了 Python中的用法。
这也导致了ansible的问题。参考https://github.com/ansible/ansible/issues/32499#issuecomment-341578864
| 归档时间: |
|
| 查看次数: |
818 次 |
| 最近记录: |