【问题标题】:PhantomJS as web job in AzurePhantomJS 作为 Azure 中的 Web 作业
【发布时间】:2014-05-18 23:25:55
【问题描述】:

我在 azure 中部署了一个 asp.net mvc 网站,我正在尝试将 phantomJS 部署为 Web 作业以支持该网站。 我已经上传了一个 zip 文件,其中包含运行 PhantomJS 所需的所有依赖项,并且在运行我的批处理文件后 Web 作业成功启动。日志报告服务器已启动并正在运行@127.0.0.1:8080。但是,当我尝试从托管在 someProject.azurewebsites.net 下的 azure 站点访问 url 127.0.0.1:8080 的 PhantomJS 应用程序时,它只是超时,没有其他错误消息。

具体来说,我正在尝试部署一个托管 Web 端点 (https://github.com/thelgevold/PhantomSnapshot) 的 phantomJS 应用程序,如果我将网站中的 url 传递给 phantomJS 进程,它将使我能够将网页转换为 pdf。

该网站将向 PhantomJS 传递一个 url,该 url 将返回一个可以下载的 pdf 文件。我已经让它在 Azure 之外工作,但很好奇 PhantomJS 进程是否可以作为 Web 作业托管

有谁知道是否可以以这种方式部署 PhantomJS? 我在“免费”配置下运行我的网站。

【问题讨论】:

  • 对我来说也一样。可以生成 PhantomJS 的新实例(使用 --version 检查),但我无法运行涉及网页模块的脚本;它挂起。也许有一个代理身份验证或类似的东西......

标签: asp.net azure phantomjs


【解决方案1】:

PhantomJS 不适用于 azure Webjobs。

我尝试通过 CMD shell [yoursite].scm.azurewebsites.net/DebugConsole 执行它,但是当我使用 raserize.js 脚本调用它时它挂起。

你可以使用 phantomjs 作为 worker 角色,它会起作用。

更新

关于这个: https://stackoverflow.com/a/23000040/3080500

phantomJS使用GDI渲染图片和pdf,GDI在Azure网站中被屏蔽

ref : azure 网站中未启用 GDI http://social.msdn.microsoft.com/Forums/windowsazure/en-US/b4a6eb43-0013-435f-9d11-00ee26a8d017/report-viewer-error-on-export-pdf-or-excel-from-azure-web-sites

ref:PhantomJS 使用 GDI 渲染字体:https://github.com/ariya/phantomjs/blob/6a01a8dece0c4dd697eaa0b208057d2bd43a30f3/src/qt/mkspecs/win32-msvc2003/qmake.conf#L63

【讨论】:

  • 根据引用的 MSDN 线程,截至 2014 年 10 月 10 日,现在 GDI 支持基本和标准层。
  • 这方面有什么更新吗?我们需要使用 WebJob 中的 phantomJS,但我真的很想避免整个 WorkerRole 仅用于 phantomJS 和几行 C# 代码......
  • 我上周试过了,但仍然不支持 GDI+,所以它仍然是黑色方块而不是字母
  • 一些新闻 - 现在它似乎已部分修复。现在 phantomjs 运行并生成预览,但是......如果您使用 svg 字体 - 它们似乎无法加载 50% 的时间。带有 onResourceError 报告错误代码 5“操作已取消”
【解决方案2】:

我们对 WSAS(Windows Azure 网站)也有同样的问题。我们可以运行可以通过 stdin/stdout 与 phantomjs.exe 进行通信,但是当它执行实际的网络请求时,它将超时,或者如果未设置超时将冻结。

其他一些应用程序可以发出网络请求(例如 curl.exe),但如果您尝试运行“ping”,它将响应“无法联系 IP 驱动程序。一般故障。”谷歌搜索表明他们的虚拟服务器上可能存在 Hyper-V 配置错误。

【讨论】:

    【解决方案3】:

    Azure 网站不允许你监听端口,你也不能在你的 Azure 网站中使用 localhost。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 2018-04-27
      • 1970-01-01
      相关资源
      最近更新 更多