good, if you meet some problems, please leave message


Best Regards
---------------
DolphinScheduler(Incubator) PPMC
Lidong Dai 代立冬
[email protected]
---------------


裴龙武 <[email protected]> 于2020年5月28日周四 上午9:23写道:

> OK, I'll try to do it by the way we talked about it.
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"lidong dai"<[email protected]&gt;;
> 发送时间:&nbsp;2020年5月27日(星期三) 晚上7:51
> 收件人:&nbsp;"dev"<[email protected]&gt;;
>
> 主题:&nbsp;Re: [Feature] Support SSH Task
>
>
>
> I think your idea is good, haha
>
>
>
> Best Regards
> ---------------
> DolphinScheduler(Incubator) PPMC
> Lidong Dai 代立冬
> [email protected]
> ---------------
>
>
> Hemin Wen <[email protected]&gt; 于2020年5月27日周三 上午11:53写道:
>
> &gt; Is it possible to extend the data source and increase the ssh type.
> &gt; I look at the data structure of DB is ok.
> &gt;
> &gt;
> &gt; --------------------
> &gt; DolphinScheduler(Incubator) Commtter
> &gt; Hemin Wen&nbsp; 温合民
> &gt; [email protected]
> &gt; --------------------
> &gt;
> &gt;
> &gt; 裴龙武 <[email protected]&gt; 于2020年5月27日周三 上午10:55写道:
> &gt;
> &gt; &gt; Good idea! It's can solve the exceptions where the numbers of SSH
> &gt; &gt; connections exceeds.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; We also have another problem of how to config remote server
> easily when
> &gt; we
> &gt; &gt; have hundreds of tasks.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Now I use the local param to config remote server's
> IP,username,password.
> &gt; &gt; But every task needs to config.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; &gt; 发件人:&amp;nbsp;"lidong dai"<[email protected]&amp;gt;;
> &gt; &gt; 发送时间:&amp;nbsp;2020年5月26日(星期二) 晚上6:38
> &gt; &gt; 收件人:&amp;nbsp;"dev"<[email protected]&amp;gt;;
> &gt; &gt;
> &gt; &gt; 主题:&amp;nbsp;Re: [Feature] Support SSH Task
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; good idea, I think "Control the number of task's concurrent" may
> be have
> &gt; &gt; some other methods,&amp;nbsp; for now, we don't have this
> feature, but when I
> &gt; &gt; communicate with the team of China Unicom, they provide a new
> solve
> &gt; &gt; solution:
> &gt; &gt; &amp;nbsp; we can add a task concurrent page, you can set a
> variable value
> &gt; like
> &gt; &gt; 'ETL_JOB' =10 and so on, then give the task type add a option for
> &gt; choosing
> &gt; &gt; ETL_JOB or other variable, and there may be many task also
> choose ETL_JOB
> &gt; &gt; variable.&amp;nbsp; when these tasks begin to running at the
> same time, the
> &gt; &gt; Master
> &gt; &gt; Server will check whether a task begin to run or wait(if the
> running
> &gt; tasks
> &gt; &gt; num = 10)
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Best egards
> &gt; &gt; ---------------
> &gt; &gt; DolphinScheduler(Incubator) PPMC
> &gt; &gt; Lidong Dai 代立冬
> &gt; &gt; [email protected]
> &gt; &gt; ---------------
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; 裴龙武 <[email protected]&amp;gt; 于2020年5月26日周二 下午2:34写道:
> &gt; &gt;
> &gt; &gt; &amp;gt; There is only two ways that I can think to do about
> this.
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; 1. Simple SSH connect pool
> &gt; &gt; &amp;gt; 2. Control the number of task's concurrent
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> ------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
> &gt; &gt; &amp;gt; 发件人:&amp;amp;nbsp;"Hemin Wen"<[email protected]
> &amp;amp;gt;;
> &gt; &gt; &amp;gt; 发送时间:&amp;amp;nbsp;2020年5月22日(星期五) 晚上7:29
> &gt; &gt; &amp;gt; 收件人:&amp;amp;nbsp;"dev"<[email protected]
> &amp;amp;gt;;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; 主题:&amp;amp;nbsp;Re: [Feature] Support SSH Task
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; What other friends think about this discuss
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; --------------------
> &gt; &gt; &amp;gt; DolphinScheduler(Incubator) Commtter
> &gt; &gt; &amp;gt; Hemin Wen&amp;amp;nbsp; 温合民
> &gt; &gt; &amp;gt; [email protected]
> &gt; &gt; &amp;gt; --------------------
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; 裴龙武 <[email protected]&amp;amp;gt; 于2020年5月22日周五
> 上午10:20写道:
> &gt; &gt; &amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; Your are right, it can be solved the
> problem by modifying
> &gt; the
> &gt; &gt; &amp;gt; &amp;amp;gt; number of server ssh
> connections.&amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; The real reason is that I want to control
> the&amp;amp;amp;nbsp;
> &gt; &gt; number of SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; connections and reuse the SSH connection,
> Because the
> &gt; remote
> &gt; &gt; server is
> &gt; &gt; &amp;gt; &amp;amp;gt; managed by other team.
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; Otherwise, I think that we can also
> control the number of
> &gt; &gt; parallel
> &gt; &gt; &amp;gt; tasks
> &gt; &gt; &amp;gt; &amp;amp;gt; in a workflow.
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; It is a good idea that we can use the
> encapsulated ssh
> &gt; &gt; connection to
> &gt; &gt; &amp;gt; get
> &gt; &gt; &amp;gt; &amp;amp;gt; clear
> &gt; &gt; &amp;gt; &amp;amp;gt; exception information&amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> ------------------&amp;amp;amp;nbsp;原始邮件&amp;amp;amp;nbsp;------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; 发件人:&amp;amp;amp;nbsp;"Hemin Wen"<
> [email protected]
> &gt; &gt; &amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; 发送时间:&amp;amp;amp;nbsp;2020年5月21日(星期四)
> 中午11:07
> &gt; &gt; &amp;gt; &amp;amp;gt; 收件人:&amp;amp;amp;nbsp;"dev"<
> [email protected]
> &gt; &gt; &amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 主题:&amp;amp;amp;nbsp;Re: [Feature] Support
> SSH Task
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; Thanks.
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; About ssh connections pool,
> &gt; &gt; &amp;gt; &amp;amp;gt; 1. If the connection is not enough, Can it
> be solved by
> &gt; &gt; modifying the
> &gt; &gt; &amp;gt; &amp;amp;gt; number of server ssh connections.
> &gt; &gt; &amp;gt; &amp;amp;gt; 2. I think we have to look at whether a
> server's parallel
> &gt; &gt; ssh tasks
> &gt; &gt; &amp;gt; will
> &gt; &gt; &amp;gt; &amp;amp;gt; reach the bottleneck of server connections.
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; I think it is better to use the
> encapsulated ssh connection
> &gt; &gt; to get
> &gt; &gt; &amp;gt; clear
> &gt; &gt; &amp;gt; &amp;amp;gt; exception information.
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; --------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; DolphinScheduler(Incubator) Commtter
> &gt; &gt; &amp;gt; &amp;amp;gt; Hemin Wen&amp;amp;amp;nbsp; 温合民
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; --------------------
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 裴龙武 <[email protected]&amp;amp;amp;gt;
> 于2020年5月20日周三 下午11:29写道:
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Thanks for your advise
> and suggestions. It may
> &gt; &gt; has some
> &gt; &gt; &amp;gt; exceptions if
> &gt; &gt; &amp;gt; &amp;amp;gt; I
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; implement SSH Task as you
> said. Now, let me
> &gt; &gt; explain my ideas.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; e.g
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; My workflow DAG has 100
> or more task, it's all
> &gt; &gt; ssh task. I
> &gt; &gt; &amp;gt; &amp;amp;gt; have&amp;amp;amp;amp;nbsp; two
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; questions.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 1、We must limit SSH
> connection and reuse the
> &gt; &gt; SSH connections,
> &gt; &gt; &amp;gt; &amp;amp;gt; otherwise
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; the remote server will be
> refused.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 2、If we config all of
> these task, we have a
> &gt; lot
> &gt; &gt; of repeat
> &gt; &gt; &amp;gt; work to do.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; By the way, the way I'm
> currently verifying is
> &gt; &gt; I use local
> &gt; &gt; &amp;gt; params to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; config the remote
> server's host,user,password
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> ------------------&amp;amp;amp;amp;nbsp;原始邮件&amp;amp;amp;amp;nbsp;------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> 发件人:&amp;amp;amp;amp;nbsp;"lidong dai"<
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> 发送时间:&amp;amp;amp;amp;nbsp;2020年5月20日(星期三) 晚上10:56
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> 收件人:&amp;amp;amp;amp;nbsp;"dev"<
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> 主题:&amp;amp;amp;amp;nbsp;Re: [Feature] Support SSH
> &gt; &gt; Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; hi, I see you will Jsch,
> does his license
> &gt; &gt; compitable with
> &gt; &gt; &amp;gt; apache v2
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; license, I see the
> following words "
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; JSch 0.0.* was released
> under the GNU LGPL
> &gt; &gt; license. Later,
> &gt; &gt; &amp;gt; we have
> &gt; &gt; &amp;gt; &amp;amp;gt; switched
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; over to a BSD-style
> license.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; " on
> &gt; &gt; https://github.com/is/jsch/blob/master/LICENSE.txt .
> &gt; &gt; &amp;gt; you know,
> &gt; &gt; &amp;gt; &amp;amp;gt; LGPL
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; license not compitable
> with apache license.
> &gt; but
> &gt; &gt; BSD is ok ,
> &gt; &gt; &amp;gt; so the
> &gt; &gt; &amp;gt; &amp;amp;gt; version
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; of Jsch is key point
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; second, Connection Pool
> is heavy resource,
> &gt; &gt; Please use
> &gt; &gt; &amp;gt; carefully
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; and I'm a little
> confused, why there must be
> &gt; &gt; add a new
> &gt; &gt; &amp;gt; &amp;amp;gt; Table,&amp;amp;amp;amp;nbsp; other
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; types also no seperate
> &gt; table,&amp;amp;amp;amp;nbsp;
> &gt; &gt; could you
> &gt; &gt; &amp;gt; consider task_type
> &gt; &gt; &amp;gt; &amp;amp;gt; and
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; task_json
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; in t_ds_task_instance ?
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Best Regards
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ---------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> DolphinScheduler(Incubator) PPMC
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Lidong Dai 代立冬
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ---------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 裴龙武 <[email protected]
> &amp;amp;amp;amp;gt;
> &gt; &gt; 于2020年5月20日周三 下午9:57写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; I
> want to describe my idea.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> First, we must design a host
> &gt; &gt; table that's named
> &gt; &gt; &amp;gt; &amp;amp;gt; t_ds_ssh_host, e.g
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; - id
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> name
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; - ip
> / host
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> user
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> password
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> max_connection
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> create_time
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> update_time
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; -
> user_id
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> Second, Shell can execute in
> &gt; &gt; worker server or
> &gt; &gt; &amp;gt; remote host.
> &gt; &gt; &amp;gt; &amp;amp;gt; We can
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; choose a
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; host
> in host's list.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> Third, when workflow running,
> &gt; &gt; we must maintain
> &gt; &gt; &amp;gt; the remote
> &gt; &gt; &amp;gt; &amp;amp;gt; host's
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> connection pool.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> Finally, when workflow
> &gt; finish,
> &gt; &gt; we must release
> &gt; &gt; &amp;gt; the
> &gt; &gt; &amp;gt; &amp;amp;gt; connection pool.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; Why
> do we have to maintain a
> &gt; &gt; connection pool.
> &gt; &gt; &amp;gt; Because it is
> &gt; &gt; &amp;gt; &amp;amp;gt; very easy
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; get
> exceptions when it's has
> &gt; &gt; many SSH task.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> ------------------&amp;amp;amp;amp;amp;nbsp;原始邮件&amp;amp;amp;amp;amp;nbsp;------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; 发件人:&amp;amp;amp;amp;amp;nbsp;"lidong dai"<
> &gt; &gt; &amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; 发送时间:&amp;amp;amp;amp;amp;nbsp;2020年5月20日(星期三) 晚上7:12
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; 收件人:&amp;amp;amp;amp;amp;nbsp;"dev"<
> &gt; &gt; &amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 主题:&amp;amp;amp;amp;amp;nbsp;Re:
> &gt; &gt; [Feature] Support SSH
> &gt; &gt; &amp;gt; Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; glad
> to hear that you will
> &gt; &gt; implement this
> &gt; &gt; &amp;gt; feature
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; Best
> Regards
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> ---------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> DolphinScheduler(Incubator)
> &gt; &gt; PPMC
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> Lidong Dai 代立冬
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> ---------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; 裴龙武 <
> [email protected]
> &gt; &gt; &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 于2020年5月20日周三 下午3:47写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; My code
> &gt; &gt; is not perfect yet. I
> &gt; &gt; &amp;gt; will write a
> &gt; &gt; &amp;gt; &amp;amp;gt; detailed design
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; document.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; Then
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; I will
> &gt; &gt; realize this feature
> &gt; &gt; &amp;gt; about our
> &gt; &gt; &amp;gt; &amp;amp;gt; discussion result.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> ------------------&amp;amp;amp;amp;amp;amp;nbsp;原始邮件&amp;amp;amp;amp;amp;amp;nbsp;------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 发件人:&amp;amp;amp;amp;amp;amp;nbsp;"wenhemin"<
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 发送时间:&amp;amp;amp;amp;amp;amp;nbsp;2020年5月18日(星期一)
> 晚上7:50
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 收件人:&amp;amp;amp;amp;amp;amp;nbsp;"裴龙武"<
> [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;amp;amp;amp;gt;;"dev"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; 主题:&amp;amp;amp;amp;amp;amp;nbsp;Re:
> &gt; &gt; &amp;gt; [Feature] Support SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; Task and Support
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; dummy task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; like
> airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; Thanks
> &gt; &gt; for writing detailed
> &gt; &gt; &amp;gt; documentation. I
> &gt; &gt; &amp;gt; &amp;amp;gt; think this is
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; also a
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> missing
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; feature
> &gt; &gt; of DS.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; About
> &gt; the
> &gt; &gt; extension point:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; 1.Can
> &gt; ssh
> &gt; &gt; tasks be merged into
> &gt; &gt; &amp;gt; shell tasks.
> &gt; &gt; &amp;gt; &amp;amp;gt; Essentially,
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; they all
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> execute
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; shell
> &gt; &gt; commands.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; 2.About
> &gt; &gt; dummy task, DS has the
> &gt; &gt; &amp;gt; function of
> &gt; &gt; &amp;gt; &amp;amp;gt; disable nodes, I
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; do n’t
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; know
> if
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; this
> &gt; &gt; requirement is met.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; The
> &gt; &gt; script from AirFlow to
> &gt; &gt; &amp;gt; Dolphin is great.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; 在
> &gt; &gt; &amp;gt; 2020年5月18日,09:28,裴龙武 <
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; OK, 3Q!
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; First, I
> &gt; &gt; &amp;gt; will ensure that open
> &gt; &gt; &amp;gt; &amp;amp;gt; source can use.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; Second, I
> &gt; &gt; &amp;gt; think we must
> &gt; &gt; &amp;gt; &amp;amp;gt; discuss deeply. I write
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; a more
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> detailed
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; document.
> &gt; &gt; You can check the
> &gt; &gt; &amp;gt; attachment. I also
> &gt; &gt; &amp;gt; &amp;amp;gt; send the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; document to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; DaiLidong.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; Third,&amp;amp;amp;amp;amp;amp;nbsp; I'll
> &gt; &gt; &amp;gt; &amp;amp;gt; give you the error of
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; not using SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> connection pool.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; ------------------ 原始邮件
> &gt; &gt; &amp;gt; &amp;amp;gt; ------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; 发件人:
> &gt; &gt; &amp;gt; "wenhemin"<
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; 发送时间:
> &gt; &gt; &amp;gt; 2020年5月14日(星期四) 晚上7:26
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; 收件人:
> &gt; &gt; &amp;gt; "裴龙武"<[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; 主题: Re:
> &gt; &gt; &amp;gt; [Feature] Support SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; Task and Support
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; dummy task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; like
> airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; Great!
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; I think,
> &gt; &gt; &amp;gt; Can ssh tasks be
> &gt; &gt; &amp;gt; &amp;amp;gt; merged into shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> tasks,&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> execute
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; script
> &gt; &gt; locally or remotely,
> &gt; &gt; &amp;gt; Configure on the
> &gt; &gt; &amp;gt; &amp;amp;gt; front end.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; About ssh
> &gt; &gt; &amp;gt; connect pool, I did
> &gt; &gt; &amp;gt; &amp;amp;gt; not find it
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; necessary to use
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; connection pool.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt; BTW, Look
> &gt; &gt; &amp;gt; at the code to
> &gt; &gt; &amp;gt; &amp;amp;gt; introduce additional
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; jar packages,
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; You
> also
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; need to
> &gt; &gt; ensure that open
> &gt; &gt; &amp;gt; source can use the
> &gt; &gt; &amp;gt; &amp;amp;gt; license of this
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; jar
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> package.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 在
> &gt; &gt; &amp;gt; &amp;amp;gt; 2020年5月14日,16:20,裴龙武 <
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 1. The
> &gt; &gt; &amp;gt; &amp;amp;gt; priority between these tasks
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; is also depended
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; on
> the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; dolphin
> &gt; &gt; DAG define. When the
> &gt; &gt; &amp;gt; front task is not
> &gt; &gt; &amp;gt; &amp;amp;gt; finished, it
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; not
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> execute
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; next
> &gt; task.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 2. I extend
> &gt; &gt; &amp;gt; &amp;amp;gt; ssh task. I also use
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; local params to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> config ssh host,
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; user and
> &gt; &gt; password.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; E.g:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; public static
> &gt; &gt; &amp;gt; &amp;amp;gt; AbstractTask
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> newTask(TaskExecutionContext
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; taskExecutionContext, Logger
> &gt; &gt; &amp;gt; logger)
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; throws
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> IllegalArgumentException {
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; Boolean
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; enable =
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> JSONUtils.parseObject(taskExecutionContext.getTaskParams()).getBoolean("enable");
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; if
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; (enable != null
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;
> &gt; &gt; &amp;gt; enable == false ) {
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; DummyTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; }
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; switch
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> (EnumUtils.getEnum(TaskType.class,taskExecutionContext.getTaskType())) {
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case SHELL:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; ShellTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> PROCEDURE:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; ProcedureTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case SQL:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; SqlTask(taskExecutionContext,
> &gt; &gt; &amp;gt; logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case MR:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; MapReduceTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case SPARK:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; SparkTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case FLINK:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; FlinkTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case PYTHON:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; PythonTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case HTTP:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; HttpTask(taskExecutionContext,
> &gt; &gt; &amp;gt; logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case DATAX:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; DataxTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case SQOOP:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; SqoopTask(taskExecutionContext, logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; case SSH:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> return new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; SSHTask(taskExecutionContext,
> &gt; &gt; &amp;gt; logger);
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; default:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> logger.error("unsupport task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; type:
> &gt; {}",
> &gt; &gt; &amp;gt; taskExecutionContext.getTaskType());
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> throw new
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; IllegalArgumentException("not
> &gt; &gt; &amp;gt; support task
> &gt; &gt; &amp;gt; &amp;amp;gt; type");
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; }
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; }
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 3. I am not
> &gt; &gt; &amp;gt; &amp;amp;gt; sure that it supports
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; window or not.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; ------------------ 原始邮件
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 发件人:
> &gt; &gt; &amp;gt; &amp;amp;gt; "wenhemin"<[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 发送时间:
> &gt; &gt; &amp;gt; &amp;amp;gt; 2020年5月14日(星期四) 下午3:46
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 收件人: "裴龙武"<
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; <mailto:[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 主题: Re:
> &gt; &gt; &amp;gt; &amp;amp;gt; [Feature] Support SSH Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; and Support dummy
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; task
> like
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; Sorry, My
> &gt; &gt; &amp;gt; &amp;amp;gt; previous description is
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; not very clear.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; I want to ask
> &gt; &gt; &amp;gt; &amp;amp;gt; some questions:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 1.How to
> &gt; &gt; &amp;gt; &amp;amp;gt; control the priority
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; between ssh tasks?
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> There may be
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; some ssh
> &gt; &gt; tasks that have been
> &gt; &gt; &amp;gt; waiting for
> &gt; &gt; &amp;gt; &amp;amp;gt; execution.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 2.I understand
> &gt; &gt; &amp;gt; &amp;amp;gt; what you want to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; solve is the problem
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; of
> executing
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; remote
> &gt; &gt; ssh scripts in batches.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; So, not
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; sure how to use this
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> function.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; 3.I don't know
> &gt; &gt; &amp;gt; &amp;amp;gt; if this supports
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; windows system.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; 在
> &gt; &gt; &amp;gt; 2020年5月13日,20:56,裴龙武 <
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; I
> &gt; &gt; use
> &gt; &gt; &amp;gt; spin lock. Here
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; is my code. Of course
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; ,
> it's not
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; perfect.
> &gt; &gt; I just do a test. To
> &gt; &gt; &amp;gt; my surprise, it
> &gt; &gt; &amp;gt; &amp;amp;gt; is the result
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; of the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; execution
> &gt; &gt; is the same as the
> &gt; &gt; &amp;gt; AirFlow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 我通过模拟自选锁方式实现,附件中是我的代码,当然,这并不完善。我拿这个做了测试。令我惊喜的是,我得到了和
> AirFlow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; 相同的结果。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; ------------------ 原始邮件
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; 发件人:
> &gt; &gt; &amp;gt; "whm_777"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; 发送时间:
> &gt; &gt; &amp;gt; 2020年5月13日(星期三)
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 晚上7:21
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; 收件人:
> &gt; &gt; &amp;gt; "裴龙武"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; 主题: Re:
> &gt; &gt; &amp;gt; [Feature]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Support SSH Task and
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> Support dummy task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; like
> &gt; &gt; airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; You can
> &gt; &gt; &amp;gt; modify the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; maximum number of linux
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; ssh
> connections.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; If
> &gt; &gt; use
> &gt; &gt; &amp;gt; ssh connection
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; pool, How to control
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; the
> priority of
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; ssh?
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 在
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 2020年5月13日,18:01,裴龙武 <
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; First 3Q,
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> I&amp;amp;amp;amp;amp;amp;nbsp; use more than 100
> &gt; &gt; task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> node. But SSH connections
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; are
> &gt; &gt; limited.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> 我是使用了100多个任务节点,但服务器SSH连接是有限制的,超过后,就会报错了。下面是我扩展SSH任务节点后的一张截图,另外这个DAG是我从AirFlow转换过来的。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> <[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ------------------ 原始邮件
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> ------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 发件人:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; "whm_777"<[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> <mailto:[email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 发送时间:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 2020年5月13日(星期三) 下午5:50
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 收件人: "裴龙武"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 主题: Re:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; [Feature] Support SSH Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; and
> Support dummy task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; like
> &gt; &gt; airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; E.g.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; rtn_code=`ssh -o
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> ServerAliveInterval=60 -p
> &gt; xxxx
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; [email protected]
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ‘shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; command&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;amp;amp;amp;gt;/dev/null
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; 2&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;1;
> echo $?'`
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; if [
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; "$rtn_code" -eq 0 ]; then
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; echo
> "成功"
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; exit
> 0
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; else
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; echo
> "失败"
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; exit
> 1
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; fi
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; Batch shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; command is not supported.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; Multiple
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; servers can be split into
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> multiple task nodes.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 在 2020年5月13日,17:40,裴龙武 <
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Could you give me a
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> example,3Q. 能否给我一个例子,谢谢!
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; By the way, I have more
> than
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; 100
> tasks in one DAG.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; These
> &gt; &gt; tasks connect two other
> &gt; &gt; &amp;gt; server to
> &gt; &gt; &amp;gt; &amp;amp;gt; execute. So SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; tasks must
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; have
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; pool to
> &gt; &gt; manager. Now I use
> &gt; &gt; &amp;gt; JSch and realize a
> &gt; &gt; &amp;gt; &amp;amp;gt; simple pool.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 顺带说一下,在我的实际场景中,我有100多个 SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 任务,这些任务连接两台任务服务器进行任务执行。所以
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; SSH
> &gt; &gt; 任务进行连接时,必须使用连接池进行管理。当前我使用
> &gt; &gt; &amp;gt; JSch,并实现了一个简单的连接池。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; ------------------ 原始邮件
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> ------------------
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 发件人: "wenhemin"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 发送时间: 2020年5月13日(星期三)
> 下午5:24
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 收件人: "dev"<
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; [email protected] <mailto:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; 主题: Re: [Feature] Support
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; SSH
> Task and Support dummy
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; task
> &gt; like
> &gt; &gt; airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; The shell node is supports
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> remote calling, and get
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; the
> &gt; &gt; remote command result code.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; 在
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 2020年5月13日,15:16,裴龙武 <
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; <mailto:
> &gt; &gt; [email protected]
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; 写道:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Dear ALL:
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Support Linux SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; Task
> 支持 Linux SSH 任务
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 场景描述:当前项目中,工作流的任务的目标是执行不同服务器
> &gt; &gt; Shell 脚本,Shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; 脚本是保存在业务服务器的固定目录。当 Worker
> &gt; &gt; &amp;gt; &amp;amp;gt; 调度执行时,需要通过固定用户登录这些服务器,然后执行 Shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 脚本并获取这些任务执行的状态,其中服务器地址、用户名、密码可配置。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; For example, in my
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> project, the workflow's tasks
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; want to
> &gt; &gt; execute shell scripts
> &gt; &gt; &amp;gt; where are in
> &gt; &gt; &amp;gt; &amp;amp;gt; different server's
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> different
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; directory. When worker execute
> &gt; &gt; &amp;gt; these shell
> &gt; &gt; &amp;gt; &amp;amp;gt; scripts, it must
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; use the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; same
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; user to
> &gt; &gt; login these server.
> &gt; &gt; &amp;gt; Also, the worker
> &gt; &gt; &amp;gt; &amp;amp;gt; can get the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; executing
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> state of
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; these
> &gt; &gt; server. We can config
> &gt; &gt; &amp;gt; these server 's
> &gt; &gt; &amp;gt; &amp;amp;gt; host,user and
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; password.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; SSH Task is very
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> useful for most user SSH
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; 任务对大多数用户是非常有用的
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; 分布式调度任务所执行的 Shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 脚本是处于不同的业务服务器,都有其固定的业务,这些业务服务器不是 Worker,只是需要
> &gt; &gt; &amp;gt; &amp;amp;gt; Worker
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; 调度执行,我们只需要传递不同的参数,让服务器执行任务脚本即可。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; In
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> dolphinscheduler, the most
> &gt; &gt; executing tasks
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; are in
> &gt; &gt; different servers who
> &gt; &gt; &amp;gt; are not workers.
> &gt; &gt; &amp;gt; &amp;amp;gt; These servers
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; also have
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; their
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; different
> &gt; &gt; fixed services. We
> &gt; &gt; &amp;gt; just have to pass
> &gt; &gt; &amp;gt; &amp;amp;gt; different
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; parameters to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; schedule
> &gt; &gt; these shell scripts
> &gt; &gt; &amp;gt; to execute.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Python has a module
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; to
> execute ssh script Python
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; 有固定的工具包,可执行这些SSH Shell 脚本
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Python
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 有一个可执行远程服务器SSH
> &gt; &gt; Shell脚本的模块,其名字为:paramiko。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Python has a module
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; that
> can execute SSH Shell
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; script.
> &gt; &gt; It's paramiko.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Others 其他内容
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; 我发现之前的改进功能中也有关于这个的描述,不过相对简单。功能更新地址
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; I found this
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> described in previous
> &gt; feature,
> &gt; &gt; but
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; it was
> &gt; &gt; relatively simple.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Feature URL
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; 另外,我通过 Shell Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; 方式去执行远程任务会非常不便,下面是我的脚本,不知道是否有更好的方式。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; In addition, it is
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; very
> inconvenient for me to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; perform
> &gt; &gt; remote tasks through
> &gt; &gt; &amp;gt; Shell Task. Here
> &gt; &gt; &amp;gt; &amp;amp;gt; is my script.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; I don't
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; know
> if
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; there's
> &gt; a
> &gt; &gt; better way.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; sshpass -p
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> 'password' ssh user@host
> &gt; echo
> &gt; &gt; 'ssh
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; success'
> &gt; &gt; echo 'Hello World'
> &gt; &gt; &amp;gt; &amp;amp;gt; -&amp;amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; /home/dolphinscheduler/test/hello.txt
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; echo
> &gt; 'end'
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Support dummy task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; like
> airflow 支持像 Airflow
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; 中的虚拟任务
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; 场景描述:项目中,有已经产品化的
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; DAG
> 文件,DAG
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> 文件中包括不同的模块,这些模块之间的有些点是相互依赖的,有些不是,在用户购买不同模块时,需要把未购买模块且其他已购模块未依赖的点设置为
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; Dummy
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> Task,这样实际这些任务就不会执行,这样设置的好处是产品统一性和图的完整性,在AirFlow中,这些是通过DummyOperator完成的。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; For example, in my
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> project, it has a productized
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; DAG
> &gt; file.
> &gt; &gt; The file contains
> &gt; &gt; &amp;gt; different modules,
> &gt; &gt; &amp;gt; &amp;amp;gt; some of which
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; are
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; interdependent and some of
> &gt; &gt; &amp;gt; which are not. When
> &gt; &gt; &amp;gt; &amp;amp;gt; customers
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; purchase
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> different
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; modules,
> &gt; &gt; we need to set some
> &gt; &gt; &amp;gt; tasks as dummy
> &gt; &gt; &amp;gt; &amp;amp;gt; tasks, which
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; some modules
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; are
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; not
> &gt; &gt; purchased and the
> &gt; &gt; &amp;gt; purchased module is not
> &gt; &gt; &amp;gt; &amp;amp;gt; dependent.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; Because of
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; this
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; setting,
> &gt; &gt; these dummy tasks are
> &gt; &gt; &amp;gt; actually not
> &gt; &gt; &amp;gt; &amp;amp;gt; executed. The
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; benefits of
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; this
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; setup
> &gt; are
> &gt; &gt; product unity and
> &gt; &gt; &amp;gt; diagram integrity.
> &gt; &gt; &amp;gt; &amp;amp;gt; In airflow,
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; these task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; execute
> &gt; &gt; by dummy operator.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; ** Realize 实现方式**
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Dummy Task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; 本身实现很简单,只是需要与其他任务配合使用,但任务执行方式设置为
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; dummy
> &gt; &gt; 时,实际的任务不执行,执行 Dummy Task。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; Dummy Task is easy
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; to
> realize, but it need to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; use with
> &gt; &gt; other different
> &gt; &gt; &amp;gt; tasks. When the task's
> &gt; &gt; &amp;gt; &amp;amp;gt; executed
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; type is set
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; to
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; dummy
> &gt; &gt; type, the task are
> &gt; &gt; &amp;gt; executed as a dummy
> &gt; &gt; &amp;gt; &amp;amp;gt; task and the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; real task
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt; is
> not
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; executed.
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> 顺带说一下,因为项目着急测试使用,我Fork了开发版本,实现两种任务类型。在后续的版本中是否能够支持。
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;amp;gt; By the way,I
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> already realize these
> &gt; &gt; &amp;gt; two&amp;amp;amp;amp;amp;amp;amp;nbsp;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt; features
> &gt; &gt; in my fork
> &gt; &gt; &amp;gt; &amp;amp;gt;
> branch.&amp;amp;amp;amp;amp;amp;amp;nbsp;Whether the
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; follow-up
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> release can be
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; supported
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> &gt; &gt; &amp;gt;
> &gt; &gt;
> &gt;
> <SSHClient.java&amp;amp;amp;amp;amp;amp;gt;<SSHPool.java&amp;amp;amp;amp;amp;amp;gt;<SSHTask.java&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt; &amp;amp;amp;gt; &amp;amp;amp;amp;gt;
> &amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;amp;amp;amp;amp;amp;gt;
> &gt; &gt; &amp;gt; &amp;amp;gt;
> <项目场景中关于Dolphin的一些扩展点.pdf&amp;amp;amp;amp;amp;amp;gt;
> &gt;

Reply via email to