Node.js 中的作业队列

2024-03-29

我正在node.js 中寻找一个可以由php 调用的作业队列管理器。这是一个需要发送电子邮件、创建 pdf 文件等的 Web 应用程序,我想对这些应用程序执行异步 php 进程。

流程示例:

  1. 用户请求 php 页面
  2. Php调用作业队列管理器并添加任务
  3. 任务在 Node.js 中与 php 异步执行,最好是在安静一点的时候
  4. 任务是执行一个php脚本

为什么要建立这个“复杂”的系统?

  1. 我们用 php(Zend Framework)编写所有 Web 应用程序
  2. 我们想开始学习node.js
  3. 我们需要一个异步过程(快速响应!)
  4. “真正的”任务也应该是一个 php 脚本,以利用已经编写的 php 类,轻松访问数据库连接并尽可能干燥

该系统的用例:

  1. 用户自行注册,系统将发送欢迎邮件
  2. 用户完成电子商务订单,系统将发送发票

最后,我们还想使用 node-cron 来执行非系统范围的 cron 任务(非常特定于应用程序)。 Node-cron 将调用作业队列管理器,该管理器随后将运行 php 脚本。

Node中已经有这样的应用程序了吗?


在这种情况下,我更喜欢像这样的消息队列RabbitMQ http://www.rabbitmq.com/和客户端库,例如节点 amqp https://github.com/postwait/node-amqp and php-amqp http://code.google.com/p/php-amqp/。然后只需从队列中的 PHP 脚本发送您的作业,并让 Nodejs 从队列中获取作业。它的一大优点是可扩展,并且在企业市场中得到了广泛的使用和测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 中的作业队列 的相关文章

  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • 如何使用 CodeIgniter 计算 MySQL 中给定行之前的行数?

    简单来说 如何计算某一行之前有多少行 我使用的是增量 ID 但行是随机删除的 因此仅检查 ID 是行不通的 比如说 如果我有 30 行 并且我根据名称 或任何实际内容 选择了一行 那么在该行之前有多少行 它可以是 16 1 12 或任何值
  • 在 Zend Framework 2 (ZF2) 中创建新控制器的问题

    我正在使用 ZF2 Skeleton 应用程序 为了在现有模块中创建新控制器 我修改了模块 config php像这样的文件
  • 处理表单的最佳实践

    我想知道处理表单处理的最佳实践是什么 就我而言 我做了类似的事情 if the user hasn t submited the form 显示表格 else if there are form errors 显示错误 再次显示表格 els
  • Curl 错误:最多 (20) 个重定向

    尝试 CURL 到 myntra 时出现错误 我试图通过 DOMDOCUMENT 获取提取详细信息 但它给出了相同的错误 最多 20 个重定向 这是我的代码
  • Ionic 3 Uncaught(承诺):[object Object]

    我是 Ionic 3 和移动开发的新手 我正在尝试将 MySQL DB 连接到我的 Ionic 应用程序和 PHP Restful API 我用 Postman 测试了 API 它工作得很好 为了在 Ionic 中实现它 我做了以下操作 我
  • PHP/Apache 中的输出缓冲块如何工作?

    假设我将随机数据从 PHP 回显到浏览器 随机数据总量约为 XGb 回显以 YKb 块的形式完成 不使用 ob start PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞 客户端无法以与生成数据相同的速度使用数据 如果是
  • 为什么 XDebug 忽略 NetBeans 6.8 中的断点?

    我在 Ubuntu 10 04 笔记本电脑上运行 PHP 5 3 2 Apache 2 2 14 和 xdebug 2 2 0rc1 并且尝试在 Netbeans 6 8 中的本地主机上设置调试 我的问题是我在 Netbeans 中设置的断
  • 如何使用 forEach 删除列表中的元素?

    var people alex jason matt people forEach function p if p length gt 4 REMOVE THIS PERSON or pop it out of the list or wh
  • Mongoose 更新或插入许多文档

    我正在尝试使用最新版本的 mongoose 插入对象数组 或者更新相应的产品 ID 是否已存在 我一生都无法找出正确的使用方法 bulkWrite updateMany 等 而且我似乎无法在不出现错误的情况下找出语法 例如 我正在尝试 Pr
  • Jquery ui 自动完成多个输入字段和 ajax 结果

    我正在尝试做其他几个人在堆栈上已经完成的事情 我已经尝试了所有可用的示例 但似乎无法使其工作 我已经复制了工作示例并反映了与我的情况相匹配的更改 但仍然没有 我使用的 HTML 看起来像这样 tr td a span class icon
  • 清除 Laravel 队列缓存而不重新启动

    在我的应用程序中 每个客户都有一种复杂的类 我们在其中为该特定客户进行一些搜索和替换 我运行队列工作人员每天与 eBay 同步 以便每个客户进行某种搜索和替换 问题是 Laravel 队列会缓存代码很长一段时间 如果我想去更改任何客户类文件
  • 如何将 Chosen 合并到我的 React 项目中?

    我想使用 jquery 插件Chosen https harvesthq github io chosen 在我的项目中 我安装了 jQuery 并通过 npm 选择 npm i jquery chosen js S 这两个库现在都位于我的
  • Laravel:如何模拟依赖注入类方法

    我正在使用GitHub API https github com KnpLabs php github api通过一个Laravel API 包装器 https github com GrahamCampbell Laravel GitHu
  • 检索 Couchbase 的所有记录(文档)

    我正在使用 node js 并寻找一种方法来获取特定的 couchbase 桶的所有文档 有没有没有循环和增量索引的解决方案 我知道我可以制作一个原子键 然后通过循环使用它来检索所有数据 但我需要一个返回所有文档的函数 是否有任何函数 至少
  • cron 作业或 PHP 调度程序

    我使用 MYSQL 作为我的数据库 PHP 作为我的编程语言 我想运行一个 cron 作业 该作业将运行直到当前系统日期与我的数据库表中名为 PROJECT 的 截止日期 日期 列匹配 一旦日期相同的是 必须运行更新查询 这会将状态 项目表
  • Mocking/Stubbing Mongoose 模型保存方法

    给定一个简单的 Mongoose 模型 import mongoose Schema from mongoose const PostSchema Schema title type String postDate type Date de
  • 获取 png 图像的像素的 alpha 值?

    我正在使用以下代码 img imagecreatefrompng image png col imagecolorat img x y alpha col gt gt 24 0x7F 但 alpha 值始终为 127 即使像素位于 x y
  • 使用 api php 使用通配符从 S3 中删除

    我有这个工作代码可以从 s3 中删除文件和文件夹 如何使用通配符 进行删除 s3 new AmazonS3 bucket mybucket folder myDirectory this doesnt work response s3 gt
  • 上传文件最安全的方法是什么?

    我工作的公司最近在我们托管的网站上遭受了许多标头注入和文件上传漏洞攻击 虽然我们已经解决了标头注入攻击的问题 但我们尚未控制上传漏洞 我正在尝试设置一系列即插即用类型的上传脚本以供内部使用 设计人员可以将其复制到其网站的结构中 修改一些变量

随机推荐

  • Android 中的语音通话录音应用

    我想做一个录音通话的应用程序 可以吗 我期待 Android 领域经验丰富的人提供一些适当的指导 我在android中看到了android media MediaRecorder类 我需要使用那个类吗 感谢致敬 帕瓦蒂 卡玛隆 抱歉 开发人
  • 右值到左值转换 Visual Studio

    在 Visual Studio 2012RC 中存在一些非标准扩展 例如这段代码编译 include
  • Puppeteer:从使用延迟加载的页面中抓取整个 html

    我正在尝试获取使用延迟加载的网页上的整个 html 我尝试过的是一直滚动到底部 然后使用 page content 我还尝试在滚动到底部后滚动回页面顶部 然后使用 page content 两种方法都会抓取表格的一些行 但不是全部 这是我的
  • ActionBar.Tab 类型已弃用

    我正在尝试在 Eclipse 中创建滑动选项卡 但是当我导入时android app ActionBar Tab 它警告我导入 ActionBar Tab 类型已弃用 它使我的大部分代码成为警告并删除它 import android sup
  • 当浏览器忙于执行一些长时间运行的 JavaScript 时,WebDriver API 阻塞行为

    我在文档中的某个地方读到 WebDriver API 是非阻塞的 除了一些像 driver get 的 API 因此 执行 WebElement click 或 isDisplayed 通常应该是异步的 当然 假设启用了本机事件 我有一个简
  • Django:渲染快捷函数中的 context_instance 参数有什么用?

    有关 渲染 快捷方式的文档 https docs djangoproject com en 1 3 topics http shortcuts render 根据上面的链接 上下文实例参数定义为 用于渲染模板的上下文实例 默认情况下 模板将
  • 查找张量中沿轴的非零元素的数量

    我想找到沿特定轴的张量中非零元素的数量 有没有 PyTorch 函数可以做到这一点 我尝试使用非零 http pytorch org docs master torch html highlight nonzero torch nonzer
  • NSMutableArray 在 iPhone 应用程序中使用 NSLog 时不显示实际值

    我正在做一个数组的 NSLog 但它显示以下值而不是数据 我不知道如何解决这个问题并从数组中获取值 if surveyQuestions surveyQuestions NSMutableArray alloc init Total Sur
  • pandas 中没有“from_csv”方法

    当我尝试使用时from csvpython 3 7 中的方法 我收到归因错误 import pandas as pd pd DataFrame from csv adr AttributeError type object DataFram
  • 从javascript中的日期获取月份数

    我有一个 daterangepicker 函数 它以 2016 年 5 月 6 日的格式返回选定的日期 我想要做的是将月份提取为整数 因此从上面我应该能够返回数字 5 这是返回所选日期的代码行 getDateString new Date
  • 列表理解创建嵌套列表

    我想创建每月天数列表每年列表的嵌套列表 31 29 31 30 31 28 31 30 with mm 1 2 3 4 yy 2012 2013 但我的代码 result append calendar monthrange y m 1 f
  • 透明菜单/导航栏

    我无法解决 CSS 问题 我有一个应该是透明的导航栏 但由于不透明度属性以及它们是透明导航栏的子元素 其上的链接也会变得透明 你能帮我解决这个问题吗 如果您不希望链接文本受到影响 您应该修改以下规则 容器选择器看起来像这样 containe
  • 使用wireshark或其他工具绘制RTT直方图

    我有一个小型办公室网络 但我遇到了巨大的互联网链接延迟 我们有一个简单的网络拓扑 一台配置为运行 ubuntu 服务器 10 10 的路由器的计算机 2 个网卡 一个连接互联网 另一个连接办公室网络 和一个连接 20 台计算机的交换机 我在
  • 私有继承 VS 组合:什么时候使用哪个?

    私有继承VS组合 我有点困惑何时使用它们 由于私有继承在某种程度上密封了继承链 给出 class A private int z protected int y public int x class B private A B s data
  • QTreeView自定义各行的行高

    是否可以重新定义某个行中某些单独行的行高QTreeView 我有一个习惯QTreeView 风俗QAbstractItemModel和一个习惯QStyledItemDelegate 但似乎所有的sizeHint方法要么只调用一次 最初 要么
  • 如何在CARET中自定义模型来执行PLS-[Classifier]两步分类模型?

    这个问题是同一线程的延续here https stats stackexchange com questions 81727 what is the best strategy to train and validate classific
  • iOS 错误:“xxxx”没有可见的 @interface 声明选择器“alloc”

    这是我的 TextValidator 类 TextValidator h import
  • 如何在 Spark Java 中遍历/迭代数据集?

    我正在尝试遍历数据集来进行一些字符串相似度计算 例如 Jaro winkler 或余弦相似度 我将数据集转换为行列表 然后使用 for 语句进行遍历 这不是有效的 Spark 方法 所以我期待 Spark 中有更好的方法 public cl
  • 具有多个 url 路径的 CherryPy MethodDispatcher

    是否MethodDispatcher from CherryPy处理多个 url 路径 我正在尝试做类似下面的事情 但是虽然要求 customers工作正常 要求 orders始终返回 404 没有任何内容与给定的 URI 匹配 class
  • Node.js 中的作业队列

    我正在node js 中寻找一个可以由php 调用的作业队列管理器 这是一个需要发送电子邮件 创建 pdf 文件等的 Web 应用程序 我想对这些应用程序执行异步 php 进程 流程示例 用户请求 php 页面 Php调用作业队列管理器并添