问题标签 [clockwork]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1071 浏览

ruby-on-rails - 如何在生产中运行发条脚本

我正在使用发条宝石。comments我想每天午夜自动删除表中的所有评论。

app/clock.rb脚本在开发环境中按预期工作:

当它在我的本地终端上运行时$ clockwork app/clock.rb

所以我将应用程序部署到 Heroku。稍后在终端中,我运行:

就像在这个 SO 主题中一样,但只有输出是:

它退出提示并且评论仍然存在(假设at:散列中的值已经通过)。

这是我的第一个个人项目。我的问题是如何让这个脚本在生产中不间断地运行以在每天午夜自动删除评论?

更笼统地说:
如何在生产中不间断地运行脚本。

我读了这个 SO 主题,但答案不是很透彻,上面的第一个链接也不是,对于初学者来说。

0 投票
1 回答
62 浏览

clockwork - 具有多租户设置的发条

我的应用程序使用 postgres 模式来实现多租户。所以对于像这样的桌子users,每个租户实际上都有自己的users桌子 -

  • public.users(默认)
  • foo.users
  • bar.users
  • ...

附带说明一下,它使用公寓 gem实现多租户

Clockwork gem 允许您使用它的sync_database_events方法从数据库表中读取事件。例如,它可以从scheduled_jobs表/模型中读取事件:

默认情况下,它从 读取public.scheduled_jobs,但我的每个模式都有自己scheduled_jobs的读取。

有没有一种方便的方法让它遍历我所有的租户?

0 投票
1 回答
619 浏览

ruby-on-rails - 类事件的超类不匹配 (TypeError)

我的 Rails 应用程序中有一个事件模型:

我正在时钟测功机上运行一个时钟进程,它有

此clock.rb 文件有一个以给定节奏调用的resque 作业。当我在本地单独的终端中运行发条和排队时它工作正常但是当我在heroku上部署它时它失败了,因为我试图在我的clock.rb中需要environment.rb文件(我试图在heroku上部署而不需要环境但它在 Clockwork 模块中引发了其他问题)。我不明白的部分是为什么它只是为 event.rb 失败?如果它在heroku上失败了,它也应该在本地失败。

错误看起来像:

0 投票
2 回答
187 浏览

ruby-on-rails - 将错误从rails发条宝石发送到空气制动器?

将错误从发条发送到 Airbrake 的最佳方法是什么?

0 投票
1 回答
258 浏览

ruby-on-rails - 时钟工作在 Rails 中几分钟后重新开始工作

我正在使用 Clock worker gem 进行后台进程

我有一个包含键和值的配置表。

我的clock.rb文件

运行 worker 时:config/clock.rb

这可以正常工作,但是当我从配置更改时间时,如果不重新启动时钟工作文件,工作人员将如何工作?

0 投票
0 回答
207 浏览

ruby-on-rails - Clockwork won't run a job in the closest full hour

I'm using clockwork for running a job every full hour (**:00), like this:

But if a add an item for the job, for example at 17:50, the job will run for this item only at 19:00 and not at 18:00 as expected.

What could be the problem?

Thanks.

0 投票
0 回答
123 浏览

ruby-on-rails - 发条任务不是每整小时运行一次

我正在使用 Clockwork 版本 0.7.0(是的,我知道它已经过时了),并且我设置了一个每小时运行的作业:

但该作业仅在几个小时内运行一次:

2017-09-17T00:00:07.701970+00:00 app clock.1 - - 发条:我的工作 2017-09-17T02:00:50.929599+00:00 app clock.1 - - 发条:我的工作 2017-09- 17T04:00:43.244756+00:00 app clock.1 - - 发条:我的工作 2017-09-17T07:00:02.049012+00:00 app clock.1 - - 发条:我的工作 2017-09-17T09:00: 05.517400+00:00 app clock.1 - - 发条:我的工作 2017-09-17T10:00:45.606928+00:00 app clock.1 - - 发条:我的工作 2017-09-17T12:00:21.329608+00: 00 app clock.1 - - 发条:我的工作 2017-09-17T14:00:37.216280+00:00 app clock.1 - - 发条:我的工作

正如您在日志中看到的,有时它每整小时运行一次,但有时每 2 甚至 3 整小时运行一次。

我究竟做错了什么?也许有与此类问题相关的错误修复?对我来说非常重要的是它是可靠的,并且每隔一小时运行一次工作。

谢谢。

0 投票
1 回答
135 浏览

ruby-on-rails - 访问从发条管理器到控制器的所有事件

我正在使用gem Clockwork来运行预定的作业。我需要访问 clock.rb 中定义的所有事件,以便在时钟事件发生故障时手动触发它。

为此,我通过添加文件attr_reader: events来分叉发条宝石。clockwork/manager.rb

时钟.rb

通过Clockwork.manager.events在clock.rb 中使用,它返回clock.rb 中定义的所有事件。

我的控制器.rb

但是在控制器中使用它时,它返回空值。

如何获取控制器中的所有发条事件?

0 投票
1 回答
416 浏览

ruby-on-rails - 如何从发条的 ruby​​ 脚本初始化 rails 5.1 环境

我需要从任意脚本初始化 rails,以便我可以使用Clockwork访问一些 ActiveRecord 对象

更新:该问题仅在require 'clockwork'两者require_relative './config/environment'都需要时发生。

他们建议像这样初始化它:

可悲的是require_relative './config/environment'似乎包含openssl两次或其他内容,导致一大堆警告,最后出现错误(下)

rbenv在 MacOS High Sierra 上运行 rails 5.1, ruby​​ 4.2.1。

不确定这是否是初始化 rails 的正确方法(谷歌搜索似乎是这样),或者这只是我的设置问题。请帮忙!

Gemfile(除了 rails 5.1 默认 gems)

本地宝石清单:

0 投票
0 回答
493 浏览

ruby-on-rails - 日志轮换进程间锁失败 opswork 发条

我正在将 opswork 与 t2.medium 机器一起使用,其中运行着 ruby​​ 发条。

我们每 30 秒触发一次工作。

在发条日志中,我看到以下错误和发条功能停止。当我重新启动发条时,它开始工作。我不知道。

请帮忙

更新: 我们使用 ruby​​ Logger 在 sql.log 中记录消息的更多信息。它有一个默认的日志轮换选项。 关联

提前致谢。