小编Des*_*Cox的帖子

可以为每个Airflow DAG设置不同的执行器吗?

我希望将另一个DAG添加到现有的Airflow服务器。服务器当前正在使用LocalExecutor,但我可能希望DAG使用CeleryExecutor。似乎配置文件airflow.cfg只允许一个执行程序:

# The executor class that airflow should use. Choices include
# SequentialExecutor, LocalExecutor, CeleryExecutor
executor = LocalExecutor
Run Code Online (Sandbox Code Playgroud)

是否可以配置Airflow,以使现有DAG可以继续使用LocalExecutor,而我的新DAG可以使用CeleryExecutor或自定义执行程序类?我没有找到任何这样做的人的例子,也没有在Airflow文档中找到任何东西。

airflow

6
推荐指数
2
解决办法
1228
查看次数

添加clojure依赖项并运行lein uberjar会导致java.lang.IllegalAccessError

我是一名具有编写PHP,python和ruby经验的新手工程师.我正在努力为一个用clojure编写的项目做出贡献.我正在尝试向项目添加库,但在添加库并运行后lein uberjar,我收到错误.我想知道它的含义以及是否可以推荐一种方法来排除故障.预先感谢您的帮助!

我想要实现目标在我的项目中包含uap-clj库并将项目编译为jar文件.

我写的内容 我已经将库添加为依赖项列表中的倒数第二项.

  :dependencies [[lots-of-dependencies]
                 [uap-clj "1.1.1"] ; user agent parser
                 [another-dependency]] 
Run Code Online (Sandbox Code Playgroud)

我跑什么雷音 根据GitHub上的说明,救了我的变化后project.clj,我跑lein deps那么lein clean && lein uberjar.

发生了什么 更新并保存文件后,运行该命令会在长堆栈跟踪之前出现以下错误:

java.lang.IllegalAccessError: tried to access method clojure.lang.RT.classForNameNonLoading(Ljava/lang/String;)Ljava/lang/Class; from class clj_yaml.core$loading__5340__auto____29, compiling:(flexmaster.clj:1:1)
Run Code Online (Sandbox Code Playgroud)

我尝试了什么 我想测试我是否在添加库时出错了.我从头开始创建了一个新的clojure项目并使用lein deps然后创建了一个jarfile lein uberjar.接下来,我将uap-clj添加到我的新项目中的:dependencies,保存了project.clj,lein deps然后lein uberjar再次执行.我能够成功创建一个jar文件,所以我相信我正在正确地添加库.

我想不出包含另一个依赖项的行为会阻止我创建jar文件的另一个原因.如果你能想到我应该根据我提供的信息检查一下,那对我非常有帮助.谢谢!

clojure leiningen

5
推荐指数
1
解决办法
627
查看次数

何时将Airflow的执行器从LocalExecutor升级到CeleryExecutor?

我目前正在使用LocalExecutor运行多个Airflow DAG,并且运行良好。我的服务器有很多资源。我将为一个更大的项目添加一个新的DAG,并且我正在考虑从LocalExecutor切换到CeleryExecutor。

我的问题是,我应该改用CeleryExecutor有哪些迹象?我是否应该查看特定的性能指标,以了解何时需要开始向外扩展?

celery airflow

1
推荐指数
1
解决办法
1718
查看次数

通过 Sentinel 将 Celery 连接到 Redis

我如何告诉 celery 我在 redis 上寻找的服务名称?我正在尝试使用 Celery 4 中的内置 Sentinel 支持。我正在传递一个按文档所述配置的代理 URL :sentinel://0.0.0.0:26379

但是 redis 似乎抱怨没有通过 service_name:

File "/usr/local/lib/python2.7/dist-packages/redis/sentinel.py", line 222, in discover_master
    raise MasterNotFoundError("No master found for %r" % (service_name,))
OperationalError: No master found for None
Run Code Online (Sandbox Code Playgroud)

是否可以使用此 URL 格式传递 service_name ?我试过了

sentinel://0.0.0.0:26379/my_service
sentinel://0.0.0.0:26379/0/my_service
Run Code Online (Sandbox Code Playgroud)

我找不到任何关于连接 URL 的文档——我找到了redis-sentinel-URL,但我没有看到它包含在 redis 包中,所以我什至不确定它是否被 redis 使用。

redis celery redis-sentinel

1
推荐指数
1
解决办法
3037
查看次数

标签 统计

airflow ×2

celery ×2

clojure ×1

leiningen ×1

redis ×1

redis-sentinel ×1