草庐IT

gitlab-ci-multi-runner

全部标签

ruby-on-rails - 使用 Sidekiq 的 Redis 连接池实现 Multi-Tenancy (命名空间)设置

除了Sidekiq,我还有一个worker也大量使用Redis来存储key。由于Sidekiq维护它自己的redis连接池,工作人员利用它并始终通过Sidekiq的池进行连接。classMyRedisWorkerincludeSidekiq::Workerdefperform#...enddefrun_redis_cmd(cmd,*args)Sidekiq.redis{|conn|conn.send(cmd,*args)}endend我现在转向Multi-Tenancy模型,允许多个租户在同一个应用程序实例和数据库上运行(在Postgres中,这对应于为每个租户使用不同的schema)

django - 我如何在 Travis CI 上运行 redis?

我正在使用django练习单元测试在items/tests.py中classNewBookSaleTest(SetUpLogInMixin):deftest_client_post_books(self):send_post_data_post=self.client.post('/booksale/',data={'title':'Book_A',})new_post=ItemPost.objects.first()self.assertEqual(new_post.title,'Book_A')在views/booksale.py中classBookSale(LoginRequir

redis - 如何在 Gitlab CI .gitlab-ci.yml 中使用 redis dockerhub 作为服务?

我的.gitlab-ci.yml是这样的:image:"python:3.5"services:-redis:4.0.2-mongo:3.4.10stages:-checkEverythingRunscheckEverythingRuns:stage:checkEverythingRunsscript:-"python--version"-"pip--version"-"redis-server-v"-"mongod--version"redis镜像下载正确:Usingdockerimageredis:4.0.2ID=sha256:blablabla但它抛出下一个错误:$redis-s

redis - phpredis 中 multi() 调用中的每个调用是否都会导致到 redis 的新网络往返?

在phpredis(php中redis的c客户端)中,有一个“管道”调用和一个“多”调用。从文档中,“管道”调用清楚地表明管道内的所有查询都将排队并立即发送到redis。但是,从文档中不清楚phpredis中multi()调用中的所有查询是否也排队并一次全部发送到redis,或者multi()中的每个调用是否会导致通过网络单独往返到Redis服务器。因此,问题是,phpredis中multi()调用(与管道调用相反)中的每个调用是否都会导致到redis的新网络往返? 最佳答案 不幸的是,目前无法在multi/execblock中对调

express - 在 Travis CI 上运行 Redis

我刚刚在我的Express应用程序中包含了一个RedisStore并让它开始工作。我想将这个RedisStore包含在TravisCI中,以便我的代码继续在那里工作。我在Travis文档中读到可以使用出厂设置启动Redis。在我的项目中,我没有使用出厂设置,我编写了自己的redis.conf文件,其中指定了端口和密码。所以我在我的.travis.yml文件中添加了以下行:services:-redis-server--port6380--requirepass'secret'但这会在TravisCI上返回以下内容:$sudoserviceredis-server\--port\6380

ruby - 带有事件驱动程序的 Redis multi/exec

你如何使用MULTI/EXEC(和WATCH)在像em-hiredis这样的事件Redis驱动程序中(使用EventMachine的Ruby驱动程序)?如果我运行:redis.multidoredis.sadd("foo","bar")doredis.inc("baz","qux")doredis.execdoputs'yay!'endendendend应用程序的其他部分有可能设法在EXEC之前潜入操作,如果发生了很多事情(例如,想象一下,我有一个每秒递增一些键的计时器,并且上面的代码运行时间超过一秒,那么一些递增命令将作为一部分发送MULTI/EXEC的-如果我想中止交易怎么办?然后

redis - Multi-Tenancy resque,避免一个租户阻塞队列

我们有一个Multi-Tenancy应用程序,它运行resque进行后台处理。我们偶尔会遇到的问题是,当单个租户在很短的时间内执行大量后台工作时。这基本上会在一段时间内阻塞队列——当我们处理这个单个租户的积压工作时,其他所有租户的工作都被延迟了。是的,我们可以添加更多的worker。但这并不是一个真正的“解决方案”,它更像是一个创可贴,它仍然会导致其他租户的延迟——只是随着我们处理速度的加快,延迟会更短。是否有更多Multi-Tenancy友好的方式来使用resque?或者完全是一个对Multi-Tenancy更友好的后台队列?我们正在考虑:每个租户使用一个队列,每个租户使用一个工作人

ruby-on-rails - Circle CI 2.0 Rails Redis Resque - Rspec Redis 服务器未找到错误

当我们的测试套件运行时,我们遇到以下有关redis-server的问题。无论我们尝试过什么,似乎都无法解决此错误。我们已经通过dockerize验证了容器是活的,等待如下所示,但是这个错误仍然发生。如有任何想法,我们将不胜感激!Resque初始化器require'resque'require'redis'require'yaml'#ResquePluginsrequire'resque/plugins/retry'require'resque-retry'require'resque-retry/server'require'resque-lock-timeout'require're

redis - Redis multi/exec 请求中的最大查询数

当从node-redis应用程序使用multi/exec时,可以发送多少个查询是否有限制,或者这只是客户端和服务器上用于缓冲请求和回复的可用内存的问题? 最佳答案 这只是可用内存的问题。首先在客户端,因为node-redis会将您在multi上执行的查询排队,并且在执行exec之前不会将任何查询发送到Redis。其次在Redis服务器上,因为它需要能够同时保存所有查询和答案,因为它是一个原子操作。 关于redis-Redismulti/exec请求中的最大查询数,我们在StackOver

ruby - 如何从 Ruby 中的 MULTI block 中的 Redis 读取数据?

我在MULTI事务中封装了一组复杂的Redis命令,但事务中的逻辑取决于Redis中已有的值。但是事务中的所有读取似乎都返回nil这是一个演示问题的示例:[Dev]>$redis.set("foo","bar")=>"OK"[Dev]>$redis.multi{$redis.set("foo","baz")if$redis.get("foo")=="bar"}=>["bar"][Dev]>$redis.get("foo")=>"bar"显然,我希望最后的返回值是'baz'–我该如何实现? 最佳答案 你不能,因为所有命令(包括get)