我是新手Airflow。我正在学习教程并编写了以下代码。
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
from models.correctness_prediction import CorrectnessPrediction
default_args = {
'owner': 'abc',
'depends_on_past': False,
'start_date': datetime.now(),
'email': ['abc@xyz.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
def correctness_prediction(arg):
CorrectnessPrediction.train()
dag = DAG('daily_processing', default_args=default_args)
task_1 = PythonOperator(
task_id='print_the_context',
provide_context=True,
python_callable=correctness_prediction,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
在运行脚本时,它不会显示任何错误,但是当我检查它时dags,Web-UI它不会显示在Menu -> DAGs 下
但是我可以job在Menu -> Browse -> Jobs下看到预定的
我也看不到 $AIRFLOW_HOME/dags 中的任何内容。难道只能这样吗?有人可以解释为什么吗?
我最近安装airflow了我的工作流程.在创建项目时,我执行了以下命令:
airflow initdb
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
[2016-08-15 11:17:00,314] {__init__.py:36} INFO - Using executor SequentialExecutor
DB: sqlite:////Users/mikhilraj/airflow/airflow.db
[2016-08-15 11:17:01,319] {db.py:222} INFO - Creating tables
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [airflow.models.DagBag] Failed to import: /usr/local/lib/python2.7/site-packages/airflow/example_dags/example_twitter_dag.py
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/airflow/models.py", line 247, in process_file
m = imp.load_source(mod_name, file path)
File "/usr/local/lib/python2.7/site-packages/airflow/example_dags/example_twitter_dag.py", line 26, in <module>
from airflow.operators import BashOperator, HiveOperator, PythonOperator
ImportError: cannot import name HiveOperator
Done.
Run Code Online (Sandbox Code Playgroud)
我在网上查了一些类似的问题,建议我安装airflow[hive],pyhs2但它似乎不起作用.
我正在使用Node.js,Express.js,Bookshelf.js和Knex.js
我在使用默认的knex池定义时遇到以下错误.
Knex:Error Pool2 - Error: connect ECONNREFUSED
Run Code Online (Sandbox Code Playgroud)
即使用以下knex定义(默认pool.min值为2)
var knex = require('knex')({
client: 'mysql',
connection: config.connection,
});
Run Code Online (Sandbox Code Playgroud)
我收到错误
Knex:Error Pool2 - Error: connect ECONNREFUSED
Knex:Error Pool2 - Error: connect ECONNREFUSED
Run Code Online (Sandbox Code Playgroud)
它的工作原理与以下定义一致.
var knex = require('knex')({
client: 'mysql',
connection: config.connection,
pool: {
min: 0,
max: 10
}
});
Run Code Online (Sandbox Code Playgroud)
我注意到错误被打印多次,其中n在pool.min值中.
有人可以告诉我为什么会这样.虽然,错误已经解决,但由于我是新手,我无法理解为什么会这样.
据我所知,Rails 4 不支持match关键字。
但我想创建一个默认的通用路由,如下所示
match ':controller(/:action(/:id))(.:format)', :via => :get
Run Code Online (Sandbox Code Playgroud)
当我在routes.rb中使用上面的代码时,它会抛出以下错误:
Missing :action key on routes definition, please check your routes
Run Code Online (Sandbox Code Playgroud)
有人可以帮我如何在 Rails 4 中实现这一点吗?
airflow ×2
bookshelf.js ×1
express ×1
hive ×1
knex.js ×1
node.js ×1
python ×1
python-2.7 ×1
python-3.x ×1
ruby ×1