Stuart的Matlab视频

观看并学习

使用Parcom来制作许多Web请求

我的同事让我让我访问Web服务器上的所有页面才能填充它的缓存。我打算使用议案及时通过250k页。我还需要不要太快并超载服务器。

我已经使用过议案之前用于网页访问并发现它是您可以使用更多Matlab Worker的罕见情况之一,而不是可用的物理甚至是逻辑处理器,这通常不推荐。它有效,因为Web请求需要大量的等待,并且通常在Matlab中需要处理的处理很少。

我承认这段视频接近尾声时有点无聊,因为我试了不同数量的工人。记住,你可以在播放器的右下角增加视频的播放速度。

这个功能涵盖代码沿岸风格视频包括:

  • 议案

跟着我 (@stuartmcgarrity)如果您想在我发布时通过Twitter通知。

全屏播放视频,以获得更好的观看体验。最终代码如下:

%%为URL进行设置

%假设电子表格带有一个“urls”变量/列
pagesfilename =“filepath \ all-aem-pages.xlsx”;
环境= [“dev2”“dev3”];
环境=环境(2);
选择= weboptions(“超时”,60);
TotalStartTime =时钟;
获取页面列表
%重复使用表(如果已在基础工作区中)
如果〜存在('','var')
页面= readtable (pagesFileName TextType, '字符串');
结尾
%%创建url列表
%转换环境
URL =替换(pages.urls,“。mathworks”,“ - ”+环境+“.mathworks”);
%%启动工人
%12为dev服务器
Startpool(12);
% %发出请求
成功=假(高度(页面),1);
k = 1:高度(页面)
starttime = [];%初始化为parcol
URL = URL(k);
试一试
starttime =时钟;
内容= webread (url选项);
成功(k)=真;
fprintf('成功访问(%d of %d): %s(%2.1f sec).\n',k,height(pages),url,etime(clock,startTime));
抓住
fprintf('Failed access (%d of %d): %s(%2.1f sec).\n',k,height(pages),url,etime(clock,startTime));
结尾
结尾

%% 结束
fprintf('完成%s \ n',myetimestr(totalstartTime))

% %本地函数
函数p = startPool (numWorkers)
p = gcp('nocreate');
如果是谬误(p)
p = parpool (numWorkers);
elsefif p.numworkers〜= numworkers
删除(p);
p = parpool (numWorkers);
结尾
结尾

函数y = myetimestr(starttime)
%以秒为单位从经过的时间返回字符串(mm:ss)。

y = char(持续时间(0,0,eTime(时钟,starttime),'格式','mm:ss'));

结尾

|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,此处をクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。