使用Javascript执行进程并向Web服务器发送更新/回调
Using Javascript to perform a process and send updates/callbacks to a webserver
我正在开发一个流程,允许人们通过基于web的界面上传PDF文件并管理文档(页面顺序)。
PDF文件的页面需要裁剪到特定的大小才能打印,目前我们通过Photoshop操作来处理这些页面。
我想做的是将PDF文件上传到一个专用服务器,以执行所需的过程(photoshop操作、转换、将图像发送回网络服务器)。
执行这些功能的一些好方法是什么,但向Web服务器发送更新以允许进程跟踪/进度条,让用户了解他们的文件需要多长时间才能处理。
此外,一般来说,有哪些好的排队/跟踪作业/流程的技术(重点是基于web的技术)?
Derek,我相信你使用Photoshop是有原因的,但说真的,Imagemagick渲染对你来说不够吗?我曾经使用过传真实用程序,该实用程序将fax.g3文件转换为TIFF,然后使用Imagemagik将对比度和亮度提高15%,并将其转换回PDF。IM作为system()
调用的独立Linux程序工作,我知道有新的ImagemagickPECL扩展。
创建一个队列,并将作业推送到该队列。运行cronjob或守护进程,从队列中获取作业并对其进行处理。请确保使用某种锁定,以便安全地停止/启动守护程序/作业。
如果你希望工作能很快完成,你可以使用一种被称为"彗星"的技术。基本上,您可以建立从javascript(使用XmlHttpRequest)到服务器端脚本的连接。在此脚本中,您将检查作业是否已完成。如果没有,你可以睡一两秒钟,然后再检查一下。你一直这样做,直到工作完成。然后你回复。结果是,请求需要一段时间才能完成,但会立即返回。然后,您可以在javascript中采取适当的操作(重新加载页面或其他任何操作)。
- 使用Javascript通过ajax回调更新DOM
- Angular,设置一个回调函数,用于在工厂和控制器之间更新
- 成功回调中的外部变量未正确更新
- 如何在Angular中传递此回调并更新$scope
- 当通过Ajax成功回调更新可观察数组时,启用绑定中断
- socket.io事件回调中模型更改时角度视图未更新
- 如何更新列表项由jQuery AJAX调用添加的ASP Dropdown:错误无效的回发或回调
- 在 AJAX 回调之后,onblur 会返回到原始(或更新)字段
- 节点 + MONGO:更新记录需要回调
- 资源更新的回调
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 角度指令内的回调在模型更新之前调用
- D3JS 使用在同一回调中更新的属性
- 从回调更新 JavaScript 父变量
- 在 AngularJS 中更新视图后的回调
- Node.JS:MongoDB更新回调返回结果,返回函数代码
- 有AngularJS数据更新回调吗?如何在数据更改时手动更新页面
- 如何在第一次运行时更新回调视图
- KnockoutJS 自定义绑定无法在可观察到的更改时触发更新回调
- 使用Javascript执行进程并向Web服务器发送更新/回调