问题标签 [background-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
49841 浏览

php - PHP 后台进程

我正在尝试制作一个 PHP 脚本,我已经完成了脚本,但它需要 10 分钟才能完成它设计的过程。这不是问题,但是我认为我必须一直保持页面加载,这很烦人。我可以拥有它以便我开始该过程,然后在 10 分钟后返回并查看它生成的日志文件吗?

0 投票
20 回答
235291 浏览

linux - 如何防止在 Linux 中关闭 SSH 客户端后停止后台进程

我正在通过 SSH (Putty) 在 Linux 机器上工作。我需要让一个进程在夜间运行,所以我想我可以通过在后台启动进程(在命令末尾带有一个&符号)并将标准输出重定向到一个文件来做到这一点。

令我惊讶的是,这行不通。一旦我关闭 Putty 窗口,该过程就会停止。

我怎样才能防止这种情况发生?

0 投票
3 回答
358 浏览

background-process - BITS 还是不错的后台更新技术吗?

我的一个爱好应用程序使用 SQLite 后端来存储应用程序数据。该应用程序已设置,以便用户可以单击典型的“检查更新”按钮,该按钮将查询 Web 服务以查看是否有可用更新。如果是,用户单击“更新”按钮并下载新数据库(通过 HTTP),然后将其安装在应用程序中。这个过程目前是“模态的”,因为在下载和安装完成之前,用户不能在应用程序中做任何其他事情。

我正在更新应用程序,我想做的一件事是让这个更新过程发生在幕后,比如 Windows 更新。当应用程序启动时,将查询服务,如果有可用更新,它会自动下载,但在后台,以便用户可以继续工作。下载完成后,系统会提示用户安装更新。

我对BITS进行了广泛的研究,尽管迄今为止我还没有看到任何 API 可以利用该技术,但我已经看到了一些示例代码,并且相信我可以让它工作。

但这是为数据库进行“背景更新”的最佳方法,还是有其他一些解决方案/方法?

0 投票
3 回答
3014 浏览

iphone - iPhone中是否有任何系统级后台队列进程?

我需要保存一个大文件,有时需要很长时间才能完成,用户可能只是关闭应用程序。我想知道 iPhone SDK 是否可以接管未完成的大任务。

看来 iPhone 自己的邮件系统可以做后台发送。我准备了一封电子邮件,点击发送,然后立即关闭邮件应用程序。在主页,几秒钟后,我听到了声音,电子邮件已送达。

0 投票
10 回答
52370 浏览

asp.net - 我可以使用线程在 IIS 上执行长时间运行的作业吗?

在 ASP.Net 应用程序中,用户单击网页上的按钮,然后通过事件处理程序实例化服务器上​​的对象并调用对象上的方法。该方法转到外部系统来做一些事情,这可能需要一段时间。所以,我想做的是在另一个线程中运行该方法调用,这样我就可以通过“您的请求已提交”将控制权返回给用户。我很高兴将其作为即发即弃的方式进行,尽管如果用户可以继续轮询对象的状态会更好。

我不知道 IIS 是否允许我的线程继续运行,即使用户会话过期也是如此。想象一下,用户触发事件,我们在服务器上实例化对象并在新线程中触发方法。用户对“您的请求已提交”消息感到满意并关闭了他的浏览器。最终,此用户会话将在 IIS 上超时,但线程可能仍在运行,正在工作。IIS 会允许线程继续运行,还是会在用户会话到期后终止它并处理对象?

编辑:从答案和评论中,我了解到最好的方法是将长期运行的处理移到 IIS 之外。除此之外,这还涉及 appdomain 回收问题。在实践中,我需要在有限的时间内启动版本 1,并且必须在现有框架内工作,所以想避开服务层,因此希望只在 IIS 内启动线程。在实践中,这里的“长时间运行”只会是几分钟,网站上的并发会很低,所以应该没问题。但是,下一个版本肯定需要拆分成一个单独的服务层。

0 投票
3 回答
1603 浏览

objective-c - 需要后台进程。线?

我需要一个后台进程每分钟左右运行一次。我不希望这个过程干扰应用程序其余部分的响应能力。这会是一个很好的线程候选人吗?如果是这样,你会建议我如何设置线程 - 特别是,哪些类/方法可以很好地研究?

0 投票
5 回答
2443 浏览

email - 邮箱收到邮件时触发脚本?

我想在收到邮件时处理一个特定的邮箱,我知道我可以每 n 分钟检查一次是否有任何邮件,但想知道是否有一种方法可以“收听”邮件而不是不断地轮询。

0 投票
2 回答
928 浏览

php - 是否在“ESC”上取消了通过 AJAX 调用的 PHP 进程?

如果我进行 AJAX 调用,如果用户按下“ESC”或离开该页面,AJAX 调用会被取消吗?

如果 AJAX 调用被取消,我的 PHP 脚本会继续运行直到它完成它正在做的事情(前提是没有达到时间限制或任何其他服务器配置停止。),还是该进程会同时被杀死它所属的 Apache 孩子?

如果该进程确实被 Apache 子进程杀死,即使它没有完成,那么保持它活着的最佳方法是什么,或者我应该考虑哪些其他选择?(ZendX_Console_Process_Unix 不是一个选项)。

谢谢!

后来的发现:

如果我在 Firefox 中点击“ESC”(在 firebug 中检查),AJAX 调用实际上会被取消。PHP 进程继续进行,不受按 ESC 或关闭选项卡的影响。

0 投票
7 回答
25891 浏览

ruby-on-rails - Ruby on Rails 中的消息队列

人们在他们的 Rails 应用程序中使用了哪些消息队列,以及决定选择它的驱动力是什么。最新的 Twitter 对其内部队列 Starling 倒下的宣传是否会影响任何现有的设计决策。

我正在开发一个需要消息队列来处理一些后台任务的应用程序,我没有做太多这方面的工作,而且我过去看到的大部分内容都是关于 Starling 和 Workling,老实说应用程序不是很大,这个解决方案可能就足够了,但我很想获得集成最佳解决方案的经验,因为我确信我会在某个时候将一个集成到更大的应用程序中。

你会为 Rails 应用推荐什么消息队列???

编辑:感谢您的建议,这个周末我将看看其中的一些。

再次编辑:我环顾四周,有点不知所措。但是,我将着手将 RabbitMQ 与 Workling 集成到我正在构建的应用程序中,然后如果我需要一些关于快速队列的知识,那么我将拥有它并知道它是否符合我的需求。

编辑:找到越来越适合我的 DJ,如果我在某个网站上“长大”,我会说 Resque 是我要去的地方。

编辑:(2014 年 12 月)所以自从我问这个问题已经有很长时间了,但我看到它仍然得到一些意见或投票,所以我想我现在在选择背景工作人员时会更新我的方法.

在我看来,目前在 Ruby 中运行后台作业的最佳方式是使用 Sidekiq。很多人真的称赞 Sidekiq 是线程化的工作线程,而不是每个工作线程的进程,它使用的内存比我在 Sidekiq 之前使用的 Resque 之类的内存要少得多。这很好,但对我来说这不是杀手级功能。通过将 Sidetiq 与 Sidekiq 一起使用,作业调度变得如此简单,以至于我切换并且从未回头看它,这是迄今为止我使用过的最简单的作业调度,并使 Sidekiq 使用起来轻而易举。

0 投票
4 回答
5916 浏览

php - 将php系统命令输出转储到文件

在php系统命令中我们使用以下

请解释上述系统命令的用法。'2>&1 &' 代表什么?我想将流程详细信息转储到文件中,我该怎么做?

非常感谢。