开发人员区

MATLAB的高级软件开发

MATLAB的通知

等待计算机或群集完成任务就像看油漆干燥一样令人兴奋。XKCD甚至对此有漫画。

XKCD

MATLAB开发人员经常处理大量的计算负载,经常长时间运行并涉及大量数据。在许多情况下,我站起来并伸展运动,或者也许自己再补充咖啡,这是我几乎喜欢的饮料。

通知我的进度,完成或错误的系统,我可以离开屏幕并有效返回。如果我可以路由该通知开始下一个任务,那会不会很好?或让整个团队知道构建或测试活动的状态。那就是AWS简单通知系统(SNS)进来。

在这篇文章中,我将描述数学开发人员如何利用云功能并快速设置一个完全管理的出版物 /订阅(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(“咖啡通知”);

每个主题都带有一个唯一的标识符Arn

这很容易查询:

topicarn = topic.getTopicarn;topicarn ='arn:aws:sns:us-west-2:74 [删除] 02:咖啡通知'

终点的订阅:

为了插图,让我们假设我希望Matlab向我发送短信,并在我的基准完成后给我发送电子邮件。这是在几行代码中设置的。同样,这是一次一次性操作,因为我定义了端点的拓扑来订阅我的主题。

sns.subscribe(主题,'电子邮件',,,,'ahthydra@mathworks.com');sns.subscribe(主题,'短信',,,,'+12485555555');

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

发送通知:

通过单个MATLAB代码来完成我所有订阅的端点的通知。我的乐器基准代码现在看起来像:

替补席(200);sns.publish(主题,“基准完成!”);

点击跑步!...现在去喝一杯咖啡。

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

短信

好的,将此工具用作咖啡断裂通知器是一个琐碎的用例来说明一个点。当构建通知可以触发下游动作(例如生成报告)等的较大系统时,诸如此类的工具变得特别有用。

该功能确实开始在通知系统需要扩展到数百或数千个订户端点的用例中发光。这些通知可以被人类和其他应用程序/服务所消费。这种Pub-Sub模式在用于互连不同技术堆栈的面向服务的系统中很常见。

那么,您打算使用MATLAB做什么?除了让它从咖啡休息中给您回电吗?




与Matlab®R2019B一起出版

|

评论

要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。