我在Xcode中使用Vapor,部署到Heroku。 我的网络应用程序运行正常。对Vapor非常满意,并且部署到Heroku是多么容易。
我现在正在尝试在同一个项目中创建一个单独的Heroku Worker进程。我已经将新工作者添加到了我的Heroku Procfile中,但我不清楚我应该如何在Xcode项目中设置第二个目标,以便每次运行vapor xcode
重建项目时都不会覆盖它文件。
我的Procfile如下所示:
web: App --env=production --workdir=./ --config:servers.default.port=$PORT --config:postgresql.url=$DATABASE_URL
worker: Worker --env=production --workdir=./ --config:servers.default.port=$PORT --config:postgresql.url=$DATABASE_URL
因此,正如您所看到的,我只想要一个名为Worker
的第二个应用程序可执行文件,我可以在Heroku工作人员dyno中启动。
我知道如何在我的Xcode项目中拥有一个Web应用程序目标和一个单独的工作目标,而不会被vapor xcode
覆盖?
由于 --TJ
答案 0 :(得分:1)
所以,我的Package.swift现在看起来像这样:
import PackageDescription
let package = Package(
name: "myapp",
targets: [
Target(name: "App", dependencies: ["Shared"]),
Target(name: "Worker", dependencies: ["Shared"]),
],
dependencies: [
],
exclude: [
"Config",
"Database",
"Localization",
"Public",
"Resources",
]
)
My Sources目录结构现在如下所示:
Sources
|
- App
- Worker
- Shared
共享目标包含App和Worker可执行目标所需的所有共享代码。
现在,如上所述定义Procfile非常有效。我现在有一个Web应用程序和一个工作进程。
干杯 --TJ