人们使用哪些消息队列来处理他们的Rails应用程序,决定select它的原因是什么? Twitter上的最新宣传是否会影响任何现有的devise决策? 我正在研究一个应用程序,它需要一个消息队列来处理一些后台任务,我没有做太多的工作,而且我以前见过的大部分东西都是关于Starling和Workling的,说实话,应用程序不是很大,这个解决scheme可能就足够了,但我很乐意获得整合最佳解决scheme的经验,因为我相信我会在某个时候将其整合到一个更大的应用程序中。 什么消息队列,你会build议一个Rails应用程序? 编辑:谢谢你的build议,我将在本周末看看他们中的几个。 再次编辑:我有一个环顾四周,有点不知所措的select。 然而,我将会把RabbitMQ与Workling整合到我正在构build的应用程序中,然后如果我需要关于快速队列的一些知识,那么我会知道它是否符合我的需求。 编辑:寻找越来越多的DJ适合我就好了,如果我曾经“超出”它在一个网站上我会说Resque是我会头的地方。 编辑:(十二月2014)所以这是很长的时间,因为我问这个,但我看到它仍然得到一些意见或一些投票,所以我想我会更新我的方法现在当涉及到我select的背景工作。 在我看来,目前在Ruby中运行后台作业的最好方法是使用Sidekiq。 很多人真的称赞Sidekiq是因为它是线程化的工作者,而不是每个工作者的进程,比使用Sidekiq之前使用的Resque更less的内存。 这是好事,但对我来说,这不是杀手的function。 通过与Sidekiq一起使用Sidetiq,调度工作是如此的微不足道,以至于我转而从未回过头来看,这是迄今为止我所使用的最简单的工作计划,使得Sidekiq可以轻松使用。
我试图做一个PHP脚本,我已经完成脚本,但它需要10分钟来完成它旨在执行的过程。 这不是一个问题,但我想我必须保持页面加载所有这些烦人的。 我能否拥有它,以便我启动该进程,然后在10分钟后回来,并查看它生成的日志文件?
在NodeJS应用程序中处理后台进程有什么好处? 情景 :用户向某个应用程序发布内容之后,我想紧缩数据,请求来自外部资源的附加数据等等。所有这些都非常耗时,所以我希望它不在req / res循环中。 理想的做法是只要有一个可以快速转储作业的作业队列,守护进程或任务运行者将始终采用最早的作业并对其进行处理。 在RoR中,我会用类似Delayed Job的方法做到这一点。 这个API的Node是什么?
我试图保持iOS应用程序进入后台状态超过10分钟的活动状态。 我怎样才能实现这一点。
我正在使用程序协同与SSH隧道一起 它的工作原理,我只需打开一个控制台,键入这两个命令: ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost synergyc localhost 因为我懒惰我做了一个Bash脚本,运行一个图标上的鼠标点击: #!/bin/bash ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost synergyc localhost 上面的Bash脚本也起作用,但是现在我也想通过一个鼠标点击杀死协同作用和ssh隧道,所以我必须将协同作用和ssh的PID保存到文件中,以便杀死它们: #!/bin/bash mkdir -p /tmp/synergyPIDs || exit 1 rm -f /tmp/synergyPIDs/ssh || exit 1 rm -f /tmp/synergyPIDs/synergy || exit 1 [ ! -e /tmp/synergyPIDs/ssh ] || exit 1 [ ! -e /tmp/synergyPIDs/synergy ] || exit […]
我试图设置一个PHP触发器文件,将引发一个后台进程。 (看这个问题 ) 我正在Windows Wampserver环境中执行此操作。 所以例如我有trigger.php运行exec函数,调用我的backgroundProcess.php来parsing和执行。 然而,问题是我的trigger.php文件正在等待exec()命令在停止之前完成运行backgroundProcess.php 。 后台进程运行大约20-30秒,并且trigger.php一直在等待,直到backgroundProcess.php完成。 这是有道理的吗? 这里是运行exec()命令的trigger.php文件 exec('C:\wamp\bin\php\php'.phpversion().'\php.exe -f C:\path\to\backgroundProcess.php > C:\wamp\bin\php\php'.phpversion().'\dev\null &'); 基本上,我想trigger.php只是触发backgroundProcess而不是等待它完成。 编辑 用下面的命令解决了问题: $WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Run("C:\wamp\bin\php\phpVERSIONNUMBER\php-win.exe -f C:/wamp/www/path/to/backgroundProcess.php", 0, false);
我得到一个VOIP套接字在iOS应用程序的后台运行。 我的连接工作正常,但当我的应用程序进入后台时,它不会醒来。 如果我打开应用程序,它会响应它在睡觉时收到的任何消息。 我build立了这样的stream: CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (CFStringRef) @"test.iusealocaltestserver.com", 5060, &myReadStream, &myWriteStream); CFReadStreamSetProperty ( myReadStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP ); CFSocketNativeHandle native; CFDataRef nativeProp = CFReadStreamCopyProperty(myReadStream, kCFStreamPropertySocketNativeHandle); CFDataGetBytes(nativeProp, CFRangeMake(0, CFDataGetLength(nativeProp)), (UInt8 *)&native); CFRelease(nativeProp); CFSocketRef theSocket = CFSocketCreateWithNative(kCFAllocatorDefault, native, 0, NULL, NULL); CFSocketGetContext(theSocket,&theContext); CFOptionFlags readStreamEvents = kCFStreamEventHasBytesAvailable | kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered | kCFStreamEventOpenCompleted; CFReadStreamSetClient(myReadStream, readStreamEvents, (CFReadStreamClientCallBack)&MyCFReadStreamCallback, (CFStreamClientContext *)(&theContext)); CFReadStreamScheduleWithRunLoop(myReadStream, CFRunLoopGetCurrent(), […]
在我的应用程序中,我从iPhone上传图像到服务器。 如果用户按Home键同步,App将closures。 我希望应用程序必须在后台运行,直到同步完成。 我的问题是:如何添加当前正在运行的任务与“ beginBackgroundTaskWithExpirationHandler ”? 请分享你的想法。
首先,我知道只支持voip,audio和位置应用程序在后台运行,并且只在audio播放或使用位置服务时运行。 我想知道的是,如果有一种方法可以让我的应用程序在后台运行,并且不影响电池寿命。 这样,我的应用程序的用户可以select设置,以保持应用程序,只要他想要的时间,只是他希望的时间量。 例如,如果他正在等待某些需要应用程序运行的东西,那么在收到消息之后,他可以closures保持活动function。 我不知道这是否可能,但我已经阅读了一些说这样的post,但不幸的是,他们没有说如何=( 更新:在本教程中 ,我发现Acrobits在Apple Store上有两个应用程序“可以强制应用程序在后台保持活跃状态”。 所以有办法做到这一点?
我在我的应用程序中有一个服务,每10分钟运行一次。 它基本上检查我们的服务器,看看是否一切正常运行,并通知用户任何问题。 我创build了这个应用程序供我们公司内部使用。 我的同事在长周末使用了应用程序,并注意到设备进入睡眠状态时没有执行任何检查。 我的印象是,服务应该继续在后台运行,直到我明确地调用我的代码中的stopService() 。 因此,最终,我的目标是让服务运行,直到用户点击应用程序中的closuresbutton或终止进程。 我听说WakeLock是为了防止屏幕closures,这不是我想要的。 然后我听说另外一个称为部分WakeLock的东西,即使在设备睡着的时候也能保持CPU运行。 后者听起来更接近我所需要的。 我如何获得这个WakeLock,我应该什么时候发布它,还有其他方法呢?