问题标签 [quartzite]

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 投票
1 回答
181 浏览

clojure - Attempt to add annotation to defrecord defined class in macro

I'm attempting to create a macro similar to the Quartzite defjob macro that creates the Job class with the @DisallowConcurrentExecution annotation added to it. The code works from the repl, but not inside the macro.

This works...

...but this does not.

After Rodrigo's suggestion, here is a way to make it work.

0 投票
1 回答
825 浏览

clojure - Clojure - 每周二安排工作

我正在使用quartzite,我需要在每个星期二早上(比如上午 10 点)安排一份工作。

我有这份工作的代码,但我不确定如何安排它。

编辑:这是我到目前为止所拥有的,但它不起作用(见评论)。

编辑2

使用每日间隔计划 每日间隔计划可以轻松定义计划,例如

  • “周一至周五 9 点至 17 点”
  • “每个周末凌晨三点”
  • “每周五中午”
  • “每天13:45”
  • “星期四每小时,但不迟于 15:00,总共最多 400 次”

我的案例与文档中突出显示的案例非常相似,但我无法找到如何使用每日时间表。

0 投票
2 回答
283 浏览

clojure - 当今天与星期几匹配时,Quartz 会忽略每日日程安排的时间

我试图在一周中的某些日子同时安排每日 Quartz 作业,例如每周二上午 9 点或周二和周三上午 10 点。

当工作日与今天的工作日匹配时,Quartz 的触发时间是出乎意料的。触发器按预期在上午 9 点触发,除非今天的工作日与计划日期匹配,在这种情况下触发器会立即触发,例如,如果今天是星期二并且触发器是针对星期二的,而不是在下周上午 9 点触发,触发器将立即触发。为什么石英会这样做?

我发现防止这种行为的唯一方法是将触发器的开始时间覆盖到第二天,但是如果当前时间在触发时间之前,它就会错过当天的触发器,这对我来说毫无意义使用Quartz 作为每日调度程序。

注意:我通过Quartzite使用 Quartz ,这是 Quartz 上的一个薄 Clojure 层,但意外行为似乎与 Quartzite 无关。

这是我的触发器构建 Clojure 代码:

0 投票
0 回答
221 浏览

java - 在石英中如何使用名称 macther 类获取/删除作业?

我正在使用 Quartz 2.1.7(在 Clojure 中使用Quartzite库)。我的工作的 id 名为“abc/xyz”。我想

  • 获取 id 以“abc”开头的所有作业
  • 删除所有id以“abc”开头的job

我看到了 Quartz API,有一个名为getJobKeys的调度程序函数,它接受一个 GroupMatcher 并将获取匹配组的密钥。但我想匹配 ids 而不是组,因为组很常见。

有一个类似于 GroupMatcher 的 [NameMatcher] 类,但我找不到使用它来获取调度程序中所有作业的方法。

我能想到的一种方法是获取组内的所有作业,并检查每个对象是否已获取,如果它为我的 NameMatcher 对象的isMatch返回 true。

但我想知道是否有更清洁的方法来做到这一点?

谢谢。

0 投票
1 回答
82 浏览

clojure - 使用石英岩的 cron 示例时得到“clojurewerkz.quartzite.jobs/of-type 的不正确 arity 1”?

我尝试使用 cron 示例作为获取起始页: http ://clojurequartz.info/articles/getting_started.html

intellij 在行给我“clojurewerkz.quartzite.jobs/of-type 的不正确的 arity 1”

我检查了 api 文档: http ://reference.clojurequartz.info/clojurewerkz.quartzite.jobs.html#var-of-type

类型的功能有两个:

有什么问题吗?谢谢!

0 投票
1 回答
119 浏览

functional-programming - clojure,如何减少重复代码(可能使用宏)

TL;博士

如何减少重复代码以下,例如创建两个作业/触发器job-inventory,而不是重复两次并创建术语


类似于http://clojurequartz.info/articles/getting_started.html中描述的内容,我有代码块来创建作业并将它们挂钩以执行

问题是,当我得到越来越多的它们时,我想知道我是否可以有更好的方法来管理它们,比如 create / spawn from that job-inventory,而不是实际创建像addor这样的变量multiply

所以,要求多一层循环 有没有办法利用函数编程,并避免创建新名称(用传统语言说 python qt,如果我有一组按钮,我可以砸进一个巨大的字典,然后循环创建/禁用,而不是实际将每个名称创建为顶级变量)

我试过宏,但它说无法解析类添加,所以猜我用错了