标签: simultaneous

使用PECL HTTP类在PHP中并行HTTP请求[答案:HttpRequestPool类]


所述HttpRequestPool类提供了一个解决方案.非常感谢那些指出这一点的人.

可以在以下网址找到简要教程:http://www.phptutorial.info/?HttpRequestPool-construct


问题

我想在PHP中进行并发/并行/同时的HTTP请求.我想避免连续请求:

  • 一组请求需要很长时间才能完成; 请求越多,请求越多
  • 一组中途的一个请求的超时可能导致以后的请求不被发出(如果脚本有执行时间限制)

我已经设法找到使用cURL在PHP中制作simultaneousuos [sic] HTTP请求的详细信息,但是如果可能的话,我想明确地使用PHP的HTTP函数.

具体来说,我需要将数据同时发布到一组URL.发布数据的网址超出了我的控制范围; 他们是用户设置的.

我不介意是否需要等待所有请求完成才能处理响应.如果我在每个请求上设置超时30秒并且同时发出请求,我知道我必须等待最多30秒(可能多一点)才能完成所有请求.

我找不到如何实现这一目标的细节.但是,我最近注意到在PHP手册中提到PHP5 +能够处理并发HTTP请求 - 我打算在当时记下它,忘记了,再也找不到它了.

单个请求示例(工作正常)

<?php
$request_1 = new HttpRequest($url_1, HTTP_METH_POST);
$request_1->setRawPostData($dataSet_1);
$request_1->send();
?>
Run Code Online (Sandbox Code Playgroud)

并发请求示例(不完整,清楚)

<?php
$request_1 = new HttpRequest($url_1, HTTP_METH_POST);
$request_1->setRawPostData($dataSet_1);

$request_2 = new HttpRequest($url_2, HTTP_METH_POST);
$request_2->setRawPostData($dataSet_2);

// ...

$request_N = new HttpRequest($url_N, HTTP_METH_POST);
$request_N->setRawPostData($dataSet_N);

// Do something to send() all requests at the same time
?>
Run Code Online (Sandbox Code Playgroud)

任何想法都将非常感激!

澄清1:我想坚持PECL HTTP功能:

  • 他们提供了一个很好的OOP界面
  • 它们在相关应用中被广泛使用,并且从维护的角度来看,坚持已经使用的应该是有益的 …

php parallel-processing http pecl simultaneous

11
推荐指数
1
解决办法
6940
查看次数

在PhpStorm/IntelliJ IDEA中对同一项目进行同步编程

在PhpStorm/IntelliJ IDEA中是否可以让两个(或更多)程序员同时处理同一个项目,即同时编辑相同的文件?想象一下像http://collabedit.com/,但在IDE中.

当我们开始新的项目时,我们希望程序员和编码人员互相坐下来同时编辑相同的文件,即程序员在编码器编写模板时编写PHP代码,两者都可以查看彼此的代码并在其中进行一些小的更改必要.

我们尝试通过第二台计算机上安装的驱动器打开同一个项目,但是想法很困惑并且经常发生,旧版本被刷新到磁盘,因此我们丢失了我们的更改.此外,无法同时编辑同一文件.

pair-programming intellij-idea simultaneous phpstorm

11
推荐指数
2
解决办法
7065
查看次数

Python中的同时赋值语义

请考虑以下Python 3代码:

a = [-1,-1,-1]
i = 0
Run Code Online (Sandbox Code Playgroud)

现在考虑以下两个版本同时分配a和i:

作业版本1:

a[i],i = i,i+1
Run Code Online (Sandbox Code Playgroud)

作业版本2:

i,a[i] = i+1,i
Run Code Online (Sandbox Code Playgroud)

我希望这两个版本的同步赋值在语义上是等价的.但是,如果在每个同时分配后检查a和i的值,则会得到不同的状态:

print(a,i)分配版本1后的输出:

[0, -1, -1] 1
Run Code Online (Sandbox Code Playgroud)

print(a,i)分配版本2后的输出:

[-1, 0, -1] 1
Run Code Online (Sandbox Code Playgroud)

我不是Python的语义专家,但这种行为似乎很奇怪.我希望这两个赋值都表现为赋值版本1.此外,如果您检查以下链接,则可以预期两个赋值版本将导致相同的状态:

链接到Google图书中的书摘

对于同时分配的Python语义,我是否缺少一些东西?

注意:这种奇怪的行为似乎不可重现,例如,当变量a具有整数类型时; 它似乎需要a是类型列表(也许这是任何可变类型的情况?).

python simultaneous variable-assignment semantics

11
推荐指数
1
解决办法
3938
查看次数

perl6用s ///同时替换?

有没有办法用s ///同时进行替换?例如,如果我有一个带有1s,2s,3s等数字的字符串,我想用"tom"代替1,用"mary"替换2,用"jane"代替3,等等?

my $a = "13231313231313231";
say $a ~~ s:g/1/tom/;
say $a ~~ s:g/2/mary/;
say $a ~~ s:g/3/jane/;
Run Code Online (Sandbox Code Playgroud)

有没有一个好方法一次完成所有3个步骤?

谢谢 !!!

lisprog

simultaneous substitution perl6

8
推荐指数
2
解决办法
190
查看次数

我们可以在Perl中同时运行两个非嵌套循环吗?

我的部分代码是这样的:

while(1){
        my $winmm = new Win32::MediaPlayer;   
        $winmm->load('1.mp3'); $winmm->play; $winmm->volume(100);
        Do Some Stuff;
        last if some condition is met;
    }
Run Code Online (Sandbox Code Playgroud)

问题是:当我在while循环中的Do Some Stuff阶段时,我希望音乐始终打开.但是音乐的长度很短,在我进入下一个阶段之前它会完全停止,所以我希望音乐重演,但Win32 :: Mediaplayer模块似乎没有重复模式,所以我想为音乐播放部分做一个无限循环.像这样:

while(1){
 my $winmm = new Win32::MediaPlayer;   
 $winmm->load('1.mp3'); $winmm->play; $winmm->volume(100);
}
while(2){
Do some stuff;
last if some condition is met
}
Run Code Online (Sandbox Code Playgroud)

但根据我目前的Perl知识,如果我在while(1)部分,我永远不会去while(2)部分.即使它涉及到嵌套循环,我也必须做一些事情来突破内部循环,然后再转到外部循环的其他部分.

我的问题的答案"我们可以在Perl中同时运行两个非嵌套循环吗?" 可能是NO,但我认为有一些方法可以处理这种情况.如我错了请纠正我.

一如既往地感谢任何意见/建议:)

UPDATE

我非常感谢大家的帮助.谢谢:)所以我的问题的答案是肯定的,而不是否定的.我很高兴我已经学会了如何使用fork()和线程来解决一个真正的问题:)

perl loops simultaneous

7
推荐指数
2
解决办法
1582
查看次数

Pan和2 Finger Pinch同步iOS-同时 -

2手势识别器:

UIPinchGestureRecognizer *twoFingerPinch = 
[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
[croppper addGestureRecognizer:twoFingerPinch];

UIPanGestureRecognizer *PanRecognizer = [[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)] autorelease];
[croppper addGestureRecognizer:PanRecognizer];
Run Code Online (Sandbox Code Playgroud)

和:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {        
    return YES;
}   
Run Code Online (Sandbox Code Playgroud)

但同时捏和平移不起作用...通常我可以捏,因为泛声识别器已打开.

问候

simultaneous pan pinch uigesturerecognizer ios

7
推荐指数
1
解决办法
5013
查看次数

使用AVPlayer播放视频并同时使用AVAudioRecorder录制声音

我谷歌搜索这个问题很多天但我找不到解决我的简单问题的方法.

我正在尝试录制声音时播放视频.没有视频,录制声音效果很好.视频无需录制即可正常工作.

一旦我将两者放在一起,录音就会抛出对声音没有反应的值,而视频不再播放.顺便说一下,这只发生在我的设备上(iPhone 4/iOS5).在模拟器中一切正常.

这是我的代码的缩减版本,它位于ViewController中.

// Audio Recorder

NSURL *nullUrl = [NSURL fileURLWithPath:@"/dev/null"];

NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
                          [NSNumber numberWithFloat:44100.0],                 AVSampleRateKey,
                          [NSNumber numberWithInt:kAudioFormatAppleLossless], AVFormatIDKey,
                          [NSNumber numberWithInt:1],                         AVNumberOfChannelsKey,
                          [NSNumber numberWithInt:AVAudioQualityMax],         AVEncoderAudioQualityKey,
                          nil];

NSError *recorderError;
_recorder = [[AVAudioRecorder alloc] initWithURL:nullUrl settings:settings error:&recorderError];

if (_recorder)
{
    [_recorder prepareToRecord];
    _recorder.meteringEnabled = YES;
    [_recorder record];

    _levelTimer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(levelTimerCallback:) userInfo:nil repeats:YES];
}


// Video Player

NSURL *url = [[NSBundle mainBundle] URLForResource:@"Video"
                                      withExtension:@"mp4"
                                       subdirectory:nil];

_avPlayer = [[AVPlayer playerWithURL:url] retain];
_avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:_avPlayer] retain]; …
Run Code Online (Sandbox Code Playgroud)

iphone simultaneous recording avaudioplayer avplayer

7
推荐指数
1
解决办法
4355
查看次数

同时.replace功能

我已经将用户输入的DNA代码(A,T,G,C)转换为RNA代码(A,U,G,C).这很容易

RNA_Code=DNA_Code.replace('T','U')
Run Code Online (Sandbox Code Playgroud)

现在我需要做的下一件事就是将RNA_Code转换成它的赞美链.这意味着我需要用U代替A,用A代替A,用C代替G,用G代替C.

如果我说

RNA_Code.replace('A','U')
RNA_Code.replace('U','A')
Run Code Online (Sandbox Code Playgroud)

它将所有的As转换为我们,然后将所有的Us转换为As,但我留下了所有的As.

我需要它来采取类似的东西AUUUGCGGCAAA并将其转换为UAAACGCCGUUU.

关于如何完成任务的任何想法?(3.3)

python string replace simultaneous python-3.3

7
推荐指数
2
解决办法
988
查看次数

同时在Windows和Linux机器上进行开发

对不起的标题感到抱歉(想不出更好的描述方式)

我有一台我开发的Windows机器.但是,我有一个需要与linux系统交互的新项目(执行linux命令等).

所以,显然我不能在我的Windows机器上进行开发.我不希望在开发机器上进行编码,svn commit然后在linux机器上进行svn更新.

有没有一种方法可以将我在开发机器上所做的任何更改快速镜像到linux机器上?SVN不是一个非常快速的选择,当然一些变化将是非常小的.

有任何想法吗?我想网络共享....但这不是很漂亮(有点慢).

作为开发人员,我想知道你是否遇到过类似情况,以及你是如何解决它的.

另外,我不能只安装Ubuntu作为我的开发机器,并从linux机器镜像命令,应用程序等,因为它是一个集群"主"机器,因此它有一个非常特殊的配置.

多谢你们!

编辑:我还考虑过在linux机器上安装Web服务,然后从代码中调用它们,从而分离平台开发依赖性.你怎么看待这个?谢谢

php linux windows simultaneous

6
推荐指数
1
解决办法
458
查看次数

iOS CoreBluetooth作为外设和后台同时在后台运行

我在iOS8中使用CoreBluetooth编写应用程序,使用该应用程序检测并连接到其他手机.我试图找出能够创建连接的最佳方式,同时两个应用程序都是后台运行,但在两个手机都背景+锁定的情况下一直有困难.我遵循了这篇文章的建议:

如何在iOS 7.1的后台和前台中使用蓝牙LE检测附近的设备?

当两部手机都背景+锁定时,我无法建立连接,但我已经能够获得连接,其中外围设备和中央部分背景+锁定,然后我解锁中央(中央仍然在后台) .当我解锁外设虽然没有任何反应.当它们背景但没有锁定时它也可以工作.

因此,为了在解锁"外围设备"时建立连接,我决定在两部手机上创建一个中央和外围设备,以便同时进行扫描和广告.无论哪一个发现另一个将首先停止扫描/广告和连接.我遇到过这个方法的问题,这些问题在以下两个问题中有详细说明:

在iOS上同时使用外围设备和中央设备

iOS CoreBluetooth同步外设和中央管理器

基本上,我认为当我的两个设备同时尝试相互连接时,他们会挂断尝试连接,并且永远不会在其中任何一个上调用didConnectPeripheral(它们都显示的最后一个消息是它们是试图连接).它偶尔会工作,所以我也有点困惑为什么连接存在概率性质.有没有人对如何处理这个问题有任何建议?如果在两个应用程序都是背景+锁定时建立连接的更好方法,请告诉我,因为这是我原来的问题.

谢谢!

peripherals background simultaneous core-bluetooth cbcentralmanager

6
推荐指数
1
解决办法
570
查看次数