开发区域

使用MATLAB先进的软件开发

从MATLAB通知

等待计算机或群集完成任务是令人兴奋的,因为看着涂料干燥。XKCD甚至还有一个漫画。

XKCD.

Matlab开发人员经常处理繁重的计算负荷,经常长时间运行并涉及大量数据。我站起来有很多情况,或者伸展或者也许让自己再补充一下咖啡,这是我最喜欢的饮料。

一个可以通知我进展、完成或错误的系统,可以让我离开屏幕,有效地返回。如果我可以通过路由通知来启动下一个任务,那不是很好吗?或者让整个团队知道构建或测试活动的状态。这就是AWS简单通知系统进来。

在这篇文章中,我会描述Mathworks开发人员如何利用云功能并快速设置完全托管的出版物/订阅(PUB / SUB)消息传递系统。配置后,它将启用从MATLAB推送的消息传递。

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

作为一个例子,MATLAB提供了一个性能基准函数叫做板凳上。虽然这是一个创作的工作量让我指示它运行绩效基准200次。在我的本地计算机上,这是一个大约20分钟的测试。只需足够的时间让我喝一杯漂亮的咖啡和伸展,因为Matlab举起沉重的举动。

长凳(200);

设置主题:

首先,让我在SNS上设置一个主题。这是一次性操作。主题定义了充当通信通道的逻辑地址点。它允许我分组多个端点。这些端点可以很简单,如电子邮件和短信或更复杂,如HTTP(S)对服务器,AWS lambda函数或队列等。

SNS = AWS.SNS.CLIENT();sns.Initialize;主题= sns.createTopic('咖啡通知');

每个主题都有一个名为a的唯一标识符arn.

这很容易查询:

Toinarn = topic.gettopicarn;Teactarn =.'ARN:AWS:SNS:US-West-2:74 [删除] 02:咖啡通知'

终点的订阅:

举例来说,让我们假设我希望MATLAB给我发送一条短信,并在我的基准测试完成时给我发送一封电子邮件。这是在几行代码中设置的。这同样是一次性操作,因为我定义了订阅主题的端点的拓扑。

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

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

发送通知:

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

长凳(200);SNS.Publish(Teacharn,'基准完成!');

奔跑!......现在去喝杯咖啡。

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

短信

好的,使用此工具作为咖啡突破通知程序是一种琐碎的用例来说明一个点。诸如此类的工具在构建更大的系统时特别有用,其中通知可以触发下游动作,例如报告等。

该功能真的开始在使用情况下闪耀,其中通知系统需要缩放到数百或数千个用户端点。这些通知可以由人类和其他应用程序/服务消耗。此Pub-Sub模式在构建服务导向系统中是常见的,在那里它用于互连不同的技术堆栈。

那么,你打算用你的matlab做什么?除了让它从咖啡休息时给你回来吗?




发布与MATLAB®R2019B

|

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。