首页
学习
活动
专区
工具
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.5K10

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.2K10

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

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

14610

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

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

6.3K20

微服务架构之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.1K10

对Deis,Heroku,Flynn一些观察

整个过程及产出如下: 开发阶段:源代码构建阶段:发布包/可执行程序部署阶段:可运行镜像(发布包+配置运行阶段:进程、集群、日志、监控信息、网络 不论是Deis,Heroku,Flynn或者其他PaaS...目标,都是为了2-4这3个阶段尽可能简单。...纵向运行Procfile buildpackPaaS知道怎么编译程序,ProcfilePaaS知道怎么运行程序。 一个典型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 等栈中常用工具,然后构建过程找出如何将其

4.3K40

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

代码准备 和一讲《三周学会小程序第二讲:客户端代码准备和基础功能讲解》一样,我们先克隆小编为大家准备源码库,然后对源码进行讲解。...一个非常标准 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 文件,所以如果你没有部署成功,仔细检查一下自己配置是否正确。

1.9K10

通过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

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

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

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

2.3K31

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

它应该是基础性部分,比一堆运行在商用硬件廉价虚拟机要重要多也有趣多。它应该是云驱动力,是云能够继续在世界范围内变革企业和业务模式原因。...那可能是事实,但如果要使代码能够运行,你必须深入理解PaaS局限性,并以此为基础进行架构。例如,你可以将Herokudyno看作是一个容纳了所有基础设施和堆栈容器。...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、可用分区和机架意识 我们队列DynomiteJAVA客户端Dyno之上建立Dyno为持久连接提供连接池,并且可以配置为拓扑感知,此外,Dyno为应用程序提供特定本地机架(AWS中,机架是一个区域...发生故障转移情况下,确保没有两个客户端连接从队列中获取相同消息。 处理Un-ACK消息 后台进程监视UNACK集合中消息,这些消息在给定时间内未被客户端确认(每个队列配置)。

1.8K31

Dyno-queues 分布式延迟队列 之 基本功能

Dyno-queues 分布式延迟队列 之 基本功能 0x00 摘要 本系列我们会以设计分布式延迟队列时重点考虑模块为主线,穿插灌输一些消息队列特性实现方法,通过分析Dyno-queues 分布式延迟队列源码来具体看看设计实现一个分布式延迟队列方方面面...Dyno-queues 业务背景是: Netflix 平台上运行着许多业务流程,这些流程任务是通过异步编排进行驱动,现在要实现一个分布式延迟队列,这个延迟队列具有如下特点: 分布式; 不用外部锁机制...至于广播关系维护,一般由于消息队列本身都是集群,所以都维护公共存储,如 config server、zookeeper等。维护广播关系所要做事情基本是一致: 发送关系维护。...队列 Dynomite JAVA客户端 Dyno 之上建立Dyno 为持久连接提供连接池,并且可以配置为拓扑感知。...0xFF 参考 干货分享 | 如何从零开始设计一个消息队列 消息队列理解,几种常见消息队列对比,新手也能看得懂!

77620

Dyno-queues 分布式延迟队列 之 生产消费

Dyno-queues 分布式延迟队列 之 生产消费 0x00 摘要 本系列我们会以设计分布式延迟队列时重点考虑模块为主线,穿插灌输一些消息队列特性实现方法,通过分析Dyno-queues 分布式延迟队列源码来具体看看设计实现一个分布式延迟队列方方面面...上文我们介绍了 Dyno-queues 分布式延迟队列 设计思路,本文我们继续介绍消息产生和消费。 首先我们回顾下设计目标和选型思路。 1.1 设计目标 具体设计目标依据业务系统不同不同。...Dyno-queues业务背景是:Netflix平台上运行着许多业务流程,这些流程任务是通过异步编排进行驱动,现在要实现一个分布式延迟队列,这个延迟队列具有如下特点: 分布式; 不用外部锁机制...配置超时时间目的是 :事件消息队列排列顺序是由一个算法确定,如果超时时间越近,则这个事件 zset score 越低,就越可能被优先分发: double score = Long.valueOf...具体这些同一个时间戳消息如何内部再排优先级?就可以按照小数点之后数字排序,这样就能保证同一个时间戳消息内部,按照优先级排序。这个排序是用户自己user function做

44110
领券