小编Gle*_*son的帖子

Angular2如何清理AppModule

我一直在线使用这些教程并创建了一个'ok'SPA数据输入应用程序.

我把它连接到我的WEB API很好,但只构建了一个模型,我的AppModule已经安静了几行.

我正在考虑使用当前的方法,我认为一旦我完成它,AppModule将是一个疯狂的大小,难以阅读,甚至可能更难调试.

我是否可能错过了如何构建Angular2更大应用程序的观点?

我正在努力寻找一个大于1个组件的在线教程/项目供参考.

下面是我的app.module.ts文件夹结构.

我分开我CashMovement,ListComponent并且DataService我会认为这是很好的做法,但再添10个不同的数据服务,并列出与app.module将是漫长的.

在我继续进行任何进一步的工作之前,任何人都应该阅读一些他们可以指向我的建议,或者我理解的建议对个人意见是主观的.

app.module

import './rxjs-operators';

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule }    from '@angular/http';

import { PaginationModule, DatepickerModule, Ng2BootstrapModule, ModalModule, ProgressbarModule, TimepickerModule } from 'ng2-bootstrap/ng2-bootstrap';

import { SlimLoadingBarService, SlimLoadingBarComponent } from 'ng2-slim-loading-bar';


import { AppComponent }   from './app.component';
import { DateFormatPipe } from './shared/pipes/date-format.pipe';
import { HighlightDirective } from './shared/directives/highlight.directive'; …
Run Code Online (Sandbox Code Playgroud)

components structure single-page-application angular

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

Apache Airflow - 完成时触发/计划DAG重新运行(文件传感器)

早上好.

我正在尝试设置DAG

  1. 观察/感知文件以命中网络文件夹
  2. 处理文件
  3. 归档文件

使用在线教程和stackoverflow我已经能够提出以下DAG和运算符成功实现目标,但是我希望DAG重新安排或在完成时重新运行,以便开始观察/感知另一个文件.

我试图设置一个变量max_active_runs:1,然后schedule_interval: timedelta(seconds=5)这个是重新安排DAG,但开始排队任务并锁定文件.

欢迎任何关于如何在archive_task之后重新运行DAG的想法?

谢谢

DAG代码

from airflow import DAG
from airflow.operators import PythonOperator, OmegaFileSensor, ArchiveFileOperator
from datetime import datetime, timedelta
from airflow.models import Variable

default_args = {
    'owner': 'glsam',
    'depends_on_past': False,
    'start_date': datetime.now(),
    'provide_context': True,
    'retries': 100,
    'retry_delay': timedelta(seconds=30),
    'max_active_runs': 1,
    'schedule_interval': timedelta(seconds=5),
}

dag = DAG('test_sensing_for_a_file', default_args=default_args)

filepath = Variable.get("soucePath_Test")
filepattern = Variable.get("filePattern_Test")
archivepath = Variable.get("archivePath_Test")

sensor_task = OmegaFileSensor(
    task_id='file_sensor_task',
    filepath=filepath,
    filepattern=filepattern,
    poke_interval=3,
    dag=dag)


def process_file(**context):
    file_to_process = context['task_instance'].xcom_pull( …
Run Code Online (Sandbox Code Playgroud)

triggers directed-acyclic-graphs airflow

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

Airflow Dag文件夹-如何忽略笔记本检查点

气流太聪明了,试图在jupyter笔记本检查点文件夹“ dags / .ipynb_checkpoints /”中拾取损坏,这将引发错误。

有没有一种方法可以配置气流以忽略特定模式的文件夹?就像我会.gitignore吗?

谢谢

airflow jupyter-notebook

5
推荐指数
2
解决办法
699
查看次数

使用op_kwargs中的execution_date的Airflow Python脚本

在这个答案的帮助下/sf/answers/2921135731/我正在执行一个python文件.

我使用PythonOperator并尝试将执行日期作为传递给脚本的参数包含在内.

我相信我可以通过kwargs ['execution_date']以某种方式访问​​它.

以下失败

DAG.py

from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta

import sys
import os
sys.path.append(os.path.abspath("/home/glsam/OmegaAPI/airflow/scripts/PyPer_ogi_simple"))
from update_benchmarks import *


default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2018, 4, 23),
    'email': ['airflow@example.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG('run_pyPer', default_args=default_args)

update_BM_G027 = PythonOperator(
    task_id='update_BM_G027',
    python_callable=update_bmk,
    dag=dag,
    op_kwargs={
        'bmk_code': 'G027',
        'is_hedged': False,
        'from_date': kwargs['execution_date'],
    })
Run Code Online (Sandbox Code Playgroud)

也许我需要使用这个答案来获取日期然后XCOM它的任务?/sf/answers/2572845131/

python airflow

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

C#无法从'System.DateTime'转换为'object []'methodinfo.invoke

看起来我可能以错误的方式接近这个方向,而且方向非常受欢迎.

我试图Start在我的解决方案中触发所有方法.

Start方法采用日期时间

但是,当试图将日期作为"调用"的参数传递时,我遇到了错误

无法从System.DateTime转换为object []

欢迎任何想法

谢谢gws

scheduleDate = new DateTime(2010, 03, 11);

Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "AssetConsultants");

foreach (Type t in typelist)
{
    var methodInfo = t.GetMethod("Start", new Type[] {typeof(DateTime)} );
    if (methodInfo == null) // the method doesn't exist
    {
       // throw some exception
    }

    var o = Activator.CreateInstance(t);                 
    methodInfo.Invoke(o, scheduleDate);
}
Run Code Online (Sandbox Code Playgroud)

c# datetime createinstance invoke

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