我对气流很陌生,我正在用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
)例如,虽然我可以在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有人能解释一下这件事吗?他妈的-6是什么意思?有没有办法了解更多关于那里发生的事情的细节?
发布于 2020-01-20 17:11:22
我在运行tweepy的气流任务以返回代码6退出。中也有同样的问题。
你在Mac高中(或以上)吗?如果是这样,请参考https://stackoverflow.com/a/52230415/4434664。它解决了我的问题。
基本上,airflow test/PyCharm只是运行进程中的任务,但是调度程序会启动一个名为fork()的工作进程,很明显,High引入了一些新的安全更改,打破了python中fork()的用法。
这也造成了ansible的问题。参考https://github.com/ansible/ansible/issues/32499#issuecomment-341578864
发布于 2020-01-16 18:21:17
有人能解释一下这件事吗?他妈的-6是什么意思?
的确有一份合同
负值-N表示该子节点被信号N(仅为POSIX)终止。
在您的示例中,这意味着进程被SIGABRT (代码6)信号终止。
有没有办法了解更多关于那里发生的事情的细节?
没有多少背景信息从您的网站。通常,尝试使用不同的操作符和文件。而且,在我看来,气流并没有得到很好的记录。我建议检查气流源。
https://stackoverflow.com/questions/59669086
复制相似问题