W. *_*ckx 3 job-scheduling node.js
我是相当新的,只是了解node.js(作为PHP开发人员的背景).我在nodejs网站上看过一些nodeJs的例子和视频.
目前我正在运行一个视频网站,在后台需要执行很多任务.目前这是由调用php脚本的cronjobs完成的.这种方法的缩减是当其他进程启动时,当前一个进程仍在工作时,您将在服务器上获得高负载等.
需要在服务器上完成的作业如下:
需要在将来完成的任务
我希望能够调用一个url,这样一份工作就可以排队,也可以按时间安排工作,也可以不断运行.
我不知道node.js是否是遵循的路径,这就是我在这里问的原因.在节点中执行此操作有什么好处?缩小?
node.js有什么专业人士?
谢谢你的回复!
虽然传统上用于Web /网络任务(Web服务器,IRC聊天服务器等),但当您为其提供任何类型的IO绑定(而不是CPU绑定)任务时,Node.js会发光,因为它使用完全异步的IO(即是,所有IO都发生在主事件循环之外).例如,Node可以轻松地保持打开许多套接字,等待每个套接字上的数据,或者非常有效地将数据流入和流出文件.
听起来你只是在找工作队列 ; 一个流行的是Resque,虽然它是为Ruby编写的,但还有PHP,Node.js等版本.还有专门为PHP构建的作业队列; 如果你想坚持使用PHP,谷歌搜索"PHP作业队列"会让你走得更远.
现在,使用Node.js的一个优点是,它非常容易处理大量IO.当然我只是猜测,但根据你的要求,它可能是一个很好的工具:
因此,您可能希望尝试使用Node来完成这些任务.如果您这样做,请查看Resque for Node或其他作业系统,如Kue.如果你不需要复杂的东西,建立你自己的也不是很难--Redis是一个很好的工具.
您可能不希望使用Node的原因有几个.如果你不熟悉JavaScript和偶数和连续传递样式编程,Node.js可能会有一些学习曲线,因为你必须强迫自己停止同步思考.此外,如果您的程序中确实有很多繁重的非IO任务,例如分析数据,Node将不会优秀,因为这些计算将阻止主事件循环并阻止Node处理异步IO的回调等.最后,如果您已经有很多PHP或其他语言的逻辑,那么用您选择的语言找到解决方案可能更容易和/或更快.
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |