首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何配置procfile,sidekiq.yml,让不同的sidekiq队列在heroku的不同dyno上运行?

在Heroku上配置procfile和sidekiq.yml,以使不同的Sidekiq队列在不同的dyno上运行,可以按照以下步骤进行操作:

  1. 创建一个名为Procfile的文件,该文件用于定义应用程序的进程类型和命令。在该文件中,可以指定不同的dyno来运行不同的Sidekiq队列。例如,假设有两个队列:defaulthigh_priority,可以按照以下方式配置Procfile
代码语言:txt
复制
web: bundle exec rails server -p $PORT
worker_default: bundle exec sidekiq -C config/sidekiq_default.yml
worker_high_priority: bundle exec sidekiq -C config/sidekiq_high_priority.yml

上述配置中,web是用于运行Web进程的dyno,worker_defaultworker_high_priority是用于运行Sidekiq进程的dyno。-C参数指定了不同的Sidekiq配置文件。

  1. 创建两个不同的Sidekiq配置文件,分别命名为sidekiq_default.ymlsidekiq_high_priority.yml。在这些配置文件中,可以指定不同的队列名称和其他相关配置。例如,sidekiq_default.yml的内容可以如下所示:
代码语言:txt
复制
---
:queues:
  - default
:concurrency: 5

sidekiq_high_priority.yml的内容可以如下所示:

代码语言:txt
复制
---
:queues:
  - high_priority
:concurrency: 10

上述配置中,:queues指定了要处理的队列名称,:concurrency指定了每个dyno上并发处理的任务数。

  1. 将这些文件添加到版本控制中,并将其部署到Heroku上。可以使用Git将文件添加到版本控制,并使用Heroku CLI将代码部署到Heroku。具体步骤如下:
代码语言:txt
复制
$ git add Procfile config/sidekiq_default.yml config/sidekiq_high_priority.yml
$ git commit -m "Add Procfile and Sidekiq configuration files"
$ heroku create your-app-name
$ git push heroku master

确保在部署之前已经安装并配置了Heroku CLI,并且已经登录到Heroku账户。

  1. 配置Heroku dyno的数量和类型。可以使用Heroku CLI来配置dyno的数量和类型,以确保每个队列都有足够的资源来处理任务。例如,可以使用以下命令来配置dyno的数量和类型:
代码语言:txt
复制
$ heroku ps:scale web=1 worker_default=1 worker_high_priority=1

上述命令将配置一个Web dyno和一个名为worker_default的dyno来处理default队列的任务,以及一个名为worker_high_priority的dyno来处理high_priority队列的任务。可以根据实际需求进行调整。

通过以上步骤,就可以在Heroku上配置procfile和sidekiq.yml,使不同的Sidekiq队列在不同的dyno上运行。请注意,这里的示例仅供参考,具体的配置取决于应用程序的需求和架构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot 项目部署到heroku爬坑

​ 背景:最近小组进行一个环境比较恶劣的项目,由于没有真实的测试环境,决定上云,最终选择国外的heroku,折腾半天,其中有一些坑在这里记录下来,方便网友及个人。...declares types -> web ​ 但是实际项目中,我是在自己的分支上开发,然后我用git上传自己的分支: $ git push heroku XXX ​ 运行结果...=$PORT $JAVA_OPTS -jar target/*.jar ​ 但是本人的项目为多个子项目打包,启动类在子项目中,这样如何来让heroku启动呢,自己不停的修改Procfile中的文件路径仍然不起作用...,后来发现heroku中有一个很爽的命令,如下: $ heroku run bash ​ 这样就相当于远程登录一台Linux服务器啦,我们可以使用Linux命令查看自己部署在heroku上的项目的目录结构啦...,找到需要运行的jar包,将其在云端的路径修改到Procfile文件中,再次上传项目,就会发现项目跑起来了。

3.1K20

在 Heroku 上部署 Django 应用

Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应用。...在这篇指南中,我们用"Sample-Project"作为应用的名字。 Git仓库 在部署你的应用到Heroku之前,你需要先将你的代码签入git仓库中。...然后,不同的Pyton版本之间存在兼容性问题,因此你应该在开发你的Python应用时使用Virtualenv命令来创建一个虚拟的环境。...创建ProcFile ProcFile被用来声明应该被执行的开始web dyno命令。这个文件应该被放在manage.py(指定的)文件夹中。...下面这个例子显示地是配置仅有一个简单远程服务器的例子,它的简称是origin。(假设)你可能已经配置过很多的远程服务器。

1.6K10
  • Heroku上一键部署Cloudreve网盘程序并开启Redis

    查看更新的内容:Cloudreve-Heroku 在Heroku一键部署Cloudreve+Redis 一键部署在Heroku上: image.png 镜像内容 项目地址:Cloudreve-Heroku...DevcenterDyno sleeping 意味着在Free and Hobby节点部署的应用程序会在无网络访问30分钟后自动休眠,由于此镜像中的Cloudreve集成Sqlite储存数据,在应用程序休眠重启之后会丢失所有之前保存的数据以及配置文件...这里可以使用Uptimebot的自动监控功能来保持Free and Hobby节点应用程序的网络活跃以避免应用程序休眠:点击注册Uptimebot 请注意Heroku订阅中的应用程序允许运行的时长,普通用户为...[Info] 2020-07-18 18:36:54 当前运行模式:Master 使用Mysql作为数据存储方式 使用Heroku自带的Add-on插件Cleardb Mysql,默认的数据库空间仅有...5MB 一键部署: image.png 手动配置数据库环境变量 在第一次部署完成后在应用程序设置中手动编辑环境变量选项,根据CLEARDB_DATABASE_URL编辑对应条目 示例: `CLEARDB_DATABASE_URL

    1.3K10

    关于“Python”的核心知识点整理大全62

    在2处,我们导入了dj_database_url,用于在Heroku上配置服务器。...Heroku使用PostgreSQL (也叫Postgres)——一种比SQLite更高级的数据库;这些设置对项目进行配置,使其在Heroku上 使用Postgres数据库。...其他设置的作用分别如下:支持HTTPS请求(见3);让Django能够使用 Heroku的URL来提供项目提供的服务(见4);设置项目,使其能够在Heroku上正确地提供静态 文件(见5)。...Procfile的内容如下: Procfile web: gunicorn learning_log.wsgi --log-file - 这行代码让Heroku将gunicorn用作服务器...注意 gunicorn不能在Windows系统上运行,因此如果你使用的是Windows系统,请跳过这一步。 但这不会影响你将项目部署到Heroku。.

    16610

    主流 PaaS 平台架构:谷歌GAE、AEB、Cloud Foundry、Heroku

    在亚马逊云上,你可以在多个Version 间切换,以测试、验证版本间的不同。Version 存放在分布式对象存储区中。...3)Environment Environment 是部署在 AWS 平台上的一个可运行的 Version,每一个 Enviroment 在一个时间点上只能运行一个 Version,但是你可以同时启动多个包含不同...在亚马逊云边界的最外端有一个功能强大的DNS 服务器,它会接收用户的域名查询工作,并将后端配置在负载均衡上的正常的服务 IP 返回给用户,在这里它提供了安全可靠的路由功能。...Heroku 的架构简图如图所示,Heroku 的容器单元被称为 dyno,dyno 越多,应用系统就拥有越多的实例来保证其服务的有效性。...Heroku 的路由模块被称为 Hermes,采用 Erlang 语言编写,其能够动态感知一个应用中包含多少个 dyno,基于一定的策略进行任务分发,另外我们还可以设置超时保护机制,在Hermes 上就拒绝掉外部请求

    6.5K20

    微服务架构之Spring Boot(八十四)

    63.2 Heroku Heroku是另一个流行的PaaS平台。要自定义Heroku构建,请提供 Procfile ,它提供部署应用程序所需的咒语。...server.port 配置属性被馈送到嵌入式Tomcat,Jetty或 Undertow实例,然后在启动时使用该端口。$PORT 环境变量由Heroku PaaS分配给我们。 这应该是你需要的一切。...To git@heroku.com:agile-sierra-1405.git * [new branch] master -> master 您的应用程序现在应该在Heroku上启动并运行。...OpenShift有许多资源描述如何部署Spring Boot应用程序,包括: 使用S2I构建器 建筑指南 在Wildfly上作为传统Web应用程序运行 OpenShift Commons简报 63.4...Elastic Beanstalk环境在端口80上运行nginx实例以代理在端口5000上运 行的实际应用程序。

    2.2K10

    对Deis,Heroku,Flynn的一些观察

    整个过程及产出如下: 开发阶段:源代码构建阶段:发布包/可执行程序部署阶段:可运行的镜像(发布包+配置)运行阶段:进程、集群、日志、监控信息、网络 不论是Deis,Heroku,Flynn或者其他PaaS...的目标,都是为了让2-4这3个阶段尽可能的简单。...纵向运行:Procfile buildpack让PaaS知道怎么编译程序,Procfile让PaaS知道怎么运行程序。 一个典型的Procfile就是像这样 cat ..../Procfile web: bundle exec rails server -p $PORT 后面可以通过命令行来动态扩容程序 deis ps:scale web=4 纵向配置:环境变量 运行的发布包在不同的环境下有不一样的配置...客户端的命令行工具上设置环境变量后,就直接发送给所有容器,重设这些环境变量,然后重启。

    1.1K60

    放弃“免费套餐”,Heroku的遗产又少了一个

    Heroku 使这一问题得到了极大的简化,它使开发者集中精力在构建软件上,而非在配置和运行基础设施上。在当今世界,这显然是一种有利条件,但在那时并非如此。...Cedar 让 Heroku 成为可以运行一切的平台——用户可以通过 Buildpack 和 Procfile 带来自己的栈,它复杂的内部状态机和路由层使得运行在其上的应用变得非常强大。...即使是最大的数据处理应用也可以部署在 10GB 或 100GB 内存的容器上,一直到最小的一次性云 grep 运行只需要几兆字节。如此快速和简单,以至于不在 Heroku 上运行简直就是疯了。...甚至在 Heroku 的“内核”中,你也可以进行交换,因此你仍然可以使用 Heroku 来构建、编排和监控你的应用,但是它们会在你自己的专用单租户服务器上运行。...在很多方面,Buildpack 对应用开发者来说,是一个更好的抽象层,他们不必为任何事情编写 Dockerfile,只要用 Gemfile、Cargo.toml 或 go.mod 等栈中常用的工具,然后让构建过程找出如何将其

    5.1K40

    三周学会小程序第三讲:服务端搭建和免费部署

    代码准备 和上一讲《三周学会小程序第二讲:客户端代码准备和基础功能讲解》一样,我们先克隆小编为大家准备的源码库,然后对源码进行讲解。...一个非常标准的 Spring Boot项目目录,不了解 Spring Boot 可以直接去官网看一下初步理解就可以,你可以把 Spring Boot 简单的看做让你方便的通过一个类就能运行项目的方式,具体细节等你熟练使用以后自然会明白...2,运行 heroku login 命令,会提示你输入用户名和密码,刚才你注册的邮箱和密码。...3,输入如下命令,当然后面的 jiuask 应该是你的名称: heroku git:remote -a jiuask 这个步骤就是在添加一个 Heroku 的 Git 仓库,当你提交代码到 Heroku...-1.0.0.jar 所以每当我运行部署的时候,Heroku 帮我们执行了一下 Procfile 文件,所以如果你的没有部署成功,仔细检查一下自己的配置是否正确。

    2K10

    在Heroku上部署Node.js

    今天,我们将演示如何在Heroku上部署Node.js应用。Heroku官方提供免费帐户使用,在此之上,我们最多可以托管5个应用程序。但如果你有大量需求的话,就需要购买特殊账户。...你需要安装Heroku ToolBelt才能使Heroku在你的系统上正常工作,同时你还需要在你的系统上安装GIT,因为Heroku和git要在一起协同工作。...开始之前,您必须在网站上创建一个Heroku帐户。 此外,您需要添加一个文件 - Procfile - 添加到项目的根目录。该文件包含一行代码,以此来帮助我们确定应用程序启动需要的文件的信息。...只需输入命令heroku login,然后按照要求输入用户名和密码就可以了: 第5步 第5步 在Heroku上创建一个应用。...您可以为此应用起一个名字,或者可以让Heroku自己来决定一个随机的名字。 如果你想定义自己的应用的名字,可以使用命令:heroku create nameofapp。

    3.6K80

    通过Mono 在 Heroku 上运行 .NET 应用

    英文原文:Running .NET on Heroku 中文原文:在 Heroku 上运行 .NET 应用 自从加入了Heroku之后,我就想在这个平台上运行.NET程序。...我的目标是能够在Windows上使用Visual Studio创建一个ASP.NET MVC解决方案去创建一个Heroku的应用程序。...TestingMono 是一个相当简单的的MVC网站,有一个后台线程每秒输出一条消息。 为了运行这个后台线程,添加一个 Procfile 来启动命令行线程:mono WorkerTest.exe。...编译输出缓存及增量编译,包括已下载的 NuGet 包的缓存。 运行 EXE文件以作为后台工作线程。 需要添加额外处理的: 向 Web.config 中的 appSettings 添加配置项。...我计划在将来再写一篇 blog 来解析编译包如何生成依赖库 (这里的话只有 Mono and XSP)。 PS. 我正在努力使 Visual Basic 运行起来。

    3.2K60

    腾讯云服务器超简单部署 Chatwoot 教程

    准备部署环境2.1 创建部署目录在服务器上创建一个目录用于存放 Chatwoot 的配置文件和数据:mkdir -p /opt/chatwoot && cd /opt/chatwoot2.2 准备 **...-C config/sidekiq.yml environment: RAILS_ENV: production POSTGRES_HOST: postgres POSTGRES_DATABASE...启动 Chatwoot3.1 启动服务在/opt/chatwoot目录下运行以下命令:docker-compose up -d3.2 查看运行状态确保所有服务都正常启动:docker ps3.3 访问...配置域名(可选)为了更便捷地访问 Chatwoot,可以配置域名并绑定到服务器公网 IP。在域名服务商处添加 A 记录,指向服务器的公网 IP。...:docker-compose down总结通过本文的步骤,你已经成功在腾讯云服务器上使用 Docker Compose 快速部署了 Chatwoot。

    35300

    HTTP API 设计指南HTTP API 设计指南

    Artifacts) 提供机器可读的JSON模式 提供人类可读的文档 提供可执行的例子 描述稳定性 译者注 基础 隔离关注点 设计时通过将请求和响应之间的不同部分隔离来让事情变得简单。...通过在客户端、服务器或任何支持服务上记录该值,它能为我们提供一种机制来跟踪、诊断和调试请求。...最小化路径嵌套 在一些有父路径/子路径嵌套关系的资源数据模块中,路径可能有非常深的嵌套关系,例如: /orgs/{org_id}/apps/{app_id}/dynos/{dyno_id} 推荐在根(root...除非有更好的理由,否则请使用UUID。不要使用那种在服务器上或是资源中不是全局唯一的标识,尤其是自动增长的id。...不同编程语言客户端使用API的例子。 提供可执行的例子 提供可执行的示例让用户可以直接在终端里面看到API的调用情况,最大程度的让这些示例可以简单的使用,以减少用户尝试使用API的工作量。

    2.4K31

    分析师对PaaS现状及其未来的看法

    它应该是基础性部分,比一堆运行在商用硬件上的廉价虚拟机要重要的多也有趣的多。它应该是云的驱动力,是云能够继续在世界范围内变革企业和业务模式的原因。...那可能是事实,但如果要使代码能够运行,你必须深入理解PaaS的局限性,并以此为基础进行架构。例如,你可以将Heroku的dyno看作是一个容纳了所有基础设施和堆栈的容器。...Heroku会在它觉得合适的时候随机回收dyno,而且它总共只给你10秒钟的时间来处理错误代码……那么,突然之间,你的代码开始有一个非常特定的目标PaaS平台,创建一个你很可能并不想要的锁定模式……解决大部分...抛开Seattle、AWS和微软这些庞然大物不谈,除此之外,从表面上看,在全世界实际上已经决定购买PaaS的企业中,每六家就有一个供应商。 当谈及PaaS的未来时,有各种不同的见解。...Kepes:“现在是PaaS在市场中真正地证明自己不只是一个非常奇妙的概念的时候了。” Kavis:“PaaS没有死:事实上,它只是处于起步阶段,正等着在市场上掀起一股风暴。

    3.1K50

    基于Dynomite的分布式延迟队列

    在Netflix的平台上运行着许多的业务流程,这些流程的任务是通过异步编排进行驱动,现在我们要实现一个分布式延迟队列,这个延迟队列具有如下特点: 分布式 不用外部的锁机制 高并发 至少一次语义交付 不遵循严格的...FIFO 延迟队列(消息在将来某个时间之前不会从队列中取出) 优先级 一、使用Dynomite和Redis构建队列 Dynomite是一种通用的实现,可以与许多不同的key-value存储引擎一起使用。...获取分数在0和最大分数之间的消息。 将messageID添加到unack集合中,并从队列的有序集中删除这个messageID。 如果上一步成功,则根据messageID从Redis集合中检索消息。...3、可用分区和机架意识 我们的队列是在Dynomite的JAVA客户端Dyno之上建立的,Dyno为持久连接提供连接池,并且可以配置为拓扑感知,此外,Dyno为应用程序提供特定的本地机架(在AWS中,机架是一个区域...在发生故障转移的情况下,确保没有两个客户端连接从队列中获取相同的消息。 处理Un-ACK的消息 后台进程监视UNACK集合中的消息,这些消息在给定时间内未被客户端确认(每个队列可配置)。

    1.9K31
    领券