草庐IT

sidekiq-cron

全部标签

ruby-on-rails - Ubuntu 服务器上的 ROR、Redis、Resque、God 和 Cron - 启动

我在我的ruby​​应用程序中做了几项上帝会照顾的工作。但是,当服务器重新启动时,作业停止。我想避免这种情况,所以我在我的服务器上制作了这个脚本。看起来像这样。my_app.sh#!/bin/bash#godtasks#case$1instart)/usr/local/rvm/gems/ruby-1.9.3-p194/bin/god/usr/local/rvm/gems/ruby-1.9.3-p194/bin/godstart/usr/local/rvm/gems/ruby-1.9.3-p194/bin/godload/usr/local/Linux/apache2/www/hej.s

ruby-on-rails-4 - 如何将 Sidekiq 与 redis 放在与应用程序服务器不同的服务器上?

为了拥有一个松散耦合的架构,我可以拥有一个具有Redis和Sidekiq的服务器,以及另一个我可以创建多个实例的独立工作服务器吗?我现在拥有的是:服务器A:RedisSidekiqRails转换图片服务器B:Rails通过controller调用ServerA的Sidekiq的perform_async(image)我想做的是:服务器A:RedisSidekiq服务器B(可扩展):Rails转换图片-SidekiqWorkers-服务器C:Rails调用服务器A将作业推送到队列,以便服务器B可以通过从服务器A的队列中拉取来转换它们。 最佳答案

ruby-on-rails - 调试 redis、rails 和 sidekiq

我正在尝试向某些用户异步发送电子邮件:这是昨天完美运行的方法链:DiscussionMailer.delay.new_reply_notification()在控制台中运行它似乎完美无缺,因为它会返回工作人员ID。我可能错了,这就是那个键实际上是什么,但正如您所看到的,从事情的rails方面来看,一切正常。2.0.0p247:004>DiscussionMailer.delay.new_reply_notification(User.last,Reply.last,Discussion.last,Forum.last)UserLoad(0.6ms)SELECT"users".*FROM

ruby-on-rails - 如何将 Sidekiq (Redis) 队列移动到另一台服务器?

因此我们在Rails应用程序中使用Sidekiq作为我们的队列管理系统。我们还使用Sidetiq来管理计划任务和重复任务。目前,大约有200-300个计划任务将在几分钟到30天内随时运行。我只想传输Redis数据库rdb文件,但由于一些配置更改,Rails项目路径已更改(因此任务将无法再运行)什么是将整个计划任务队列转移到新项目路径的首选方法,但手动不是这种情况。ruby2.1.6rails3.2.22Sidekiq3.4.2Redis2.8.4 最佳答案 使用DUMP和RESTORE:redis-cli-hsource_hostd

ruby-on-rails - Redis EXECABORT 事务因先前的错误而被丢弃。 (Redis::CommandError) Sidekiq 错误

我正在为一些长时间运行的作业使用sidekiq3.4.2和redis3.0.3,大约两到四个小时后,我收到以下错误:ERROR:heartbeat:EXECABORTTransactiondiscardedbecauseofpreviouserrors.EXECABORTTransactiondiscardedbecauseofpreviouserrors./home/deployer/apps/wripl-capture/shared/bundle/ruby/2.2.0/gems/redis-3.2.1/lib/redis/pipeline.rb:79:infinish'/home/

ruby-on-rails - Sidekiq 作业已安排,未运行,只是消失了

我正在开发一个使用Sidekiq和Mandrill在后台发送电子邮件的Rails应用程序。在我的应用程序中,我有2个队列,一个用于用户与我的服务交互(无关),第二个是邮件队列。邮件队列由2个邮件程序使用:一个用于管理用户配置文件,另一个用于与我们的服务交互(无关)。今天我注意到除了Devise发送的确认电子邮件外,用户已经好几天没有收到电子邮件了。另一个队列工作正常,没有任何问题。(所以也许Sidekiq配置不是问题)。例如,让我们以通知用户配置文件更新成功的UserMailer为例:user_mailer.rbdefupdate_user(user)@user=usermail(:t

javascript - Node.js 或 Ubuntu Linux 在服务器启动时运行 cron

所以我在Ubuntu上有一个Node服务器,我想要它解压缩从ftp上传的文件,读取里面的一个文本文件,然后每天凌晨4点将信息保存到mongodb。我对我应该让ubuntu这样做还是让我的Node服务器这样做有点困惑,因为我觉得这两者都有一点:使用bash将文件解压缩到文件夹更容易,读取并保存到mongodb使用javascript更容易(对我而言)。有什么建议可以解决这个问题吗? 最佳答案 如果您使用https://github.com/EvanOxfeld/node-unzip你可以从zip文件中获取文件和数据,然后使用node来

node.js - 编辑使用 node-cron 创建的任务

尝试使用node-cron'https://github.com/merencia/node-cron根据计划运行任务'.任务的创建和启动:varcron=require('node-cron'),task=cron.schedule('******',function(){console.log('taskrunning...',JSON.stringify(task));},false);task.start();停止任务:task.stop();销毁任务:task.destroy();当任务在创建它们的范围内执行时,代码工作正常。但是根据要求,我以后如何从不同的功能访问“任务”。

node.js - 在不关闭数据库连接的情况下将 Node.js 脚本作为 CRON 作业运行最终会杀死所有 RAM 吗?

我正在构建将作为CRON作业运行的Node.js脚本。(完整的终端脚本)。这些脚本使用API和MongoDB(native驱动程序)从周围获取数据。我没有使用db.close()语句,因为该脚本永远不会自行结束(或者至少从终端看起来是这样),要完成它,它必须按CTRL+C取消。当时我在写这些脚本的时候,Stackoverflow的某个人告诉我无论如何都不需要关闭连接。所以我顺其自然。现在我想知道,这些脚本实际上还在运行吗?由于这些将作为CRON作业以较小的间隔运行,这是否意味着这些脚本最终会从服务器中删除RAM?这是否意味着将有数千个脚本在运行并等待db.close()语句?示例代码:

mongodb - 在 mongodb 中索引正在进行的事件还是我们需要一个 cron?

对不起,如果这个问题很愚蠢。我不熟悉数据库的整个索引,想知道我是否发出了以下命令>db.posts.ensureIndex({location:"2d"})数据库是否会一直被索引,即使有新的条目被发布?还是我需要在每次输入新条目后输入此命令?对于包含2000多个条目的数据库,索引是否也有很大的不同? 最佳答案 一旦索引就位,它将始终用于任何后续的读取和写入。您无需继续执行命令。请记住,在现有的大型数据集上发出ensureIndex会导致它立即为那里的所有内容编制索引,并且可能会阻塞。这里有关于索引建议的完整官方常见问题解答:http