开发区域

先进与MATLAB软件开发

从MATLAB通知

等待电脑或集群来完成一个任务是令人兴奋的看油漆变干。XKCD甚至有一个漫画。

XKCD

MATLAB开发人员常常处理沉重的计算负担,经常长时间运行,涉及大量的数据。有许多情况下,我站了起来,伸了个懒腰或者让自己另一个自己的咖啡续杯,饮料,几乎我爱错。

系统通知我的进展,完成或错误,使我远离我的屏幕并返回有效。不是很好如果我能通知路线,开始下一个任务?或者让整个团队知道构建或测试活动的状态。这正是AWS简单通知系统(SNS)出现的原因。

在这篇文章中,我将描述如何MathWorks开发者可以利用云计算功能并迅速建立一个完全管理发布/订阅(pub / sub)消息传递系统。一旦配置完成,它将使推动基于消息传递从MATLAB。

这篇文章背后的代码已被释放github.com一旦被设置为/的工具安装说明,变得微不足道的扇出拓扑定义和建立MATLAB处理通知为自己以及整个团队。

作为一个例子,MATLAB调用提供了性能基准测试函数板凳上。尽管这是一个做作的工作量让我指导运行性能基准测试200次。在我的本地计算机,这是一个测试,大约需要20分钟。只是足够的时间让我得到一杯好咖啡,一直延伸MATLAB的重任。

台(200);

设置的主题:

首先,让我在SNS设置一个主题。这是一次性操作。一个主题定义一个逻辑地址点作为通信通道。它允许我组多个端点。这些端点可以是简单的电子邮件和SMS或更复杂的像HTTP (s)调用服务器,AWS Lambda函数或队列。

sns = aws.sns.Client ();sns.initialize;主题= sns.createTopic (“coffee-notification”);

每个主题都有一个惟一的标识符称为一个在攻击

这很容易查询:

topicARN = topic.getTopicArn;topicARN =“攻击:aws: sns: us-west-2:74[编辑]02:coffee-notification”

端点的订阅:

插图,让我们假定我希望MATLAB发个短信给我,给我发邮件时我的基准测试完成。这是设置在几行代码。再次,这是一个一次性的操作,我定义的拓扑端点订阅我的话题。

sns.subscribe (topicARN“电子邮件”,“啊* * * * ra@mathworks.com”);sns.subscribe (topicARN“短信”,“+ 12485555555”);

简而言之,我们所做的,到目前为止,是我电子邮件和手机订阅我们创建的主题。更多的是可能的但让我保持这个插图简单。

发送一个通知:

我所有的订阅端点发送一个通知是一行的MATLAB代码来完成。现在的我的基准测试代码看起来像:

台(200);sns.publish (topicARN“基准完成!”);

点击运行!现在去拿一杯咖啡。

果然,20分钟后,我在我的手机和电子邮件得到通知:

短信

好,这个工具的使用作为一个休息时间通知是一个简单的用例来说明一个点。这样的工具构建大系统时特别有用,通知可以触发下游操作等代的报告,等等。

真的开始发光的功能用例的通知系统需要扩展到数百或数千个用户端点。这些通知可以被人类和其他应用程序/服务。这个发布—订阅模式是常见的在构建面向服务的系统,它用于互连不同的技术栈。

所以,你打算怎么处理你的MATLAB ?除了让它从你的休息时间给你回电话吗?




发表与MATLAB®R2019b

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。