基于alfred的workflow开发(一)

基于alfred的workflow开发(一),第1张

大家好,新开这个系列,是为了记录下自己在alfred下如何开发workflow的。

如果有看官对alfred不太了解的,可以先做个 了解 。

接下来,我们尽可能的把每个步骤都进行细化,尽力做到从零开始学。

想象一个场景,我们电脑上都安装了微信这个软件,想要聊天的时候,我们一般会怎么做呢?一般无非就这样做,先移动光标到Dock栏,然后点击微信图标。我们每天这个动作会做很多次,那么有没有一个快捷的方式,快速的打开微信呢。对了!没错就是给微信设置一个热键,我们只要组合输入就可以快速的打开微信!当然了,不止是微信,任何电脑上安装的软件都可以打开。只需要按照下面的方法来设置。

首先,打开alfred软件,选中“workflow” tab,点击左下角的+号,在d出的页面中选择Templates->FileAndApps->Launch file group from hotkey,如下图

点击之后,会d一个页面,让我们输入一些信息,按照下图输入信息。

继续点击Creat,就会进入到workflow的工作面板

之后,右键点击Launch App / Files,在d出的页面里面,拖入我们想用这个快捷键启动的软件,我这里拖入了微信。

Tips:你也可以拖入多个软件,那么当按下这个快捷键的时候,就会启动多个软件。

随着时间的推移,我们可能会攒下很多的工作流文件,那么如何管理这些工作流呢?接下来就简单介绍下。

点击搜索框右侧的设置按钮,会d出一个列表,有3个功能区,分别是分类列表、排序规则、显示选项

下面还有一个Edit Categories,点开之后,就可以对分类列表进行管理,如删除已有分类、添加新的分类。上图中,Sandbox就是我新增的分类,你也可以试着自己添加一些分类。

创建workflow时,设置默认信息

如果想要编写自己的workflow,因为身为个人开发者,有些信息都是一样的,那么我们可以设置一下创建workflow时的默认选项,那么当下次创建新的workflow时就会自己填充了。避免我们每次都输入相同的信息。

创建的方式为点击左下角的➕号,在d出的选项框里面,选择workflow defaults...会d出一个如下的选项框。里面将包名的前缀、作者、网址、readme等信息填写好。

immers.icu快捷指令设置办法如下:

手机:iPhone13

系统:iOS15.6.1

1、在手机桌面打开快捷指令

2、在快捷指令中心界面,选择需要添加的快捷指令,点击+。

3、在配置此快捷指令界面,单击添加快捷指令,这样就添加快捷指令成功。

快捷指令相关介绍

快捷指令是iPhone手机中的一款内置效率应用。

快捷指令原名叫做workflow,原属于阿里温斯坦团队开发的效率类应用,曾在2015年6月9日获苹果年度设计奖,由于其能很好补充iOS的生态系统,2017年3月23日被苹果公司收购。

快捷指令是一种可让用户使用应用完成一项或多项任务的快捷方式,使用快捷指令App可让创建包含多个步骤的捷径指令,从而大大简化 *** 作,或者迅速达成目的。

目录:

正文:

这一篇分享 Infa 开发中一些常见的问题以及注意事项,内容比较零碎,有的内容也不再详细介绍,了解有这个功能,开发时可以再深入研究。

Infa workflow 可以设置定时任务 schedule(db 中称 job),以什么样的频率重复执行,什么时候开始,什么时候结束。这样任务可以自动跑,不需要人工干预。schedule 可以做成可复用,但使用范围仅限于当前的 folder。下面看看 schedule 怎么建的,在 workflow 视图,按以下步骤,如下图所示

当想暂停 schedule 时,可以勾选 "Run on demand"。这部分很简单,不做过多的解释。做好的 schedule 需要设置在 workflow,设置方法如下图所示:

也可以不选择可重用的 schedule,可以勾选 "Non Resuable",设置方法跟 Resuable 的 schedule 是一样的。

在定时执行 workflow 时有一个场景是 schedule 解决不了的,假如我们想在一天之中的某些时间段执行,在另外的时间段不执行,有什么办法?其实,可以在 workflow 利用系统的变量做,点击 session 之间的 线 ,如下图所示:

可以猜到,这个 session 在上午 7 点以后执行,根据系统的参数可以做些其他灵活的控制。

source、target 开始导入后,可能会根据需求调整结构,如果结构调整的比较大,一般重新导入覆盖就可以了。如果调整不大,其实可以手动调整的,比如新增了字段,修改了字段长度,前提是保证与 db 的 table 结构一致,如下图所示:

在设置了 schedule 的 workflow 运行过程中会出现 workflow 出现错误,这时候设置的 scheduled 状态就会变成 unscheduled,也就是不管用了。其实可以采取一种迂回的方法来控制,即用另一个基本不会跑失败的 workflow 去控制实际的业务 workflow,这个控制的 workflow 的作用是启动业务 workflow。说了这么多,不如看看示例,先看下怎么建这个控制 workflow,如下图所示:

首先,拖一个 cmd 组件进来,我们要用它写一段命令,去启动另一个 workflow,编辑 cmd 组件,如下图所示:

可以看到这个 session 将通过 pmcmd 启动业务 workflow,我们再对这个控制 workflow 设置一个 schedule,因为这个 workflow 失败的可能性基本为零,所以可以保证 workflow 的不间断性。

Infa 很多东西都可以做成可复用的,比如 transformation、mapping、session、workflow 等,比如下面是一个 lookup 的复用组件(属于 transformation):

mapping 的复用,称为 maplet,如下图所示:

可以看到这个 maplet 传入了一个参数,通过一个 lookup 组件,输出了两个参数值。开发不同的东西需要切换到不同的视图下,注意看截图中上面的小按钮。workflow 也可以做成 worklet,就是把 workflow 拆成一个个小的,worklet 的开发视图如下图所示:

Infa workflow 的监控还是很有必要,执行失败后如果能推送出来(邮件),就可以及时解决。基本思路是:主要通过记录 session 的执行状况来做,session 可以在执行成功、失败后执行一段脚本,可以将 session 的运行结果记录下来,插入到 Infa 的日志表。session 的设置方法,如下图所示:

其中,$PMFolderName、PMWorkflowName、PMWorkflowRunId、PMSessionName 一看就知道;0 代表成功(自定义),Events__c 是 target 的名字;@numAffectedRows、@numAppliedRows、@numRejectedRows 分别是对 target 的影响记录数、采用记录数、拒绝记录数。

到此为止,Informatica 基础系列就完结了,共 9 篇,每一篇文章都配置了目录,方便系统阅读,希望对您有益,谢谢关注!

At 2017.11.10


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11268581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存