0

所以我有两个任务(比如说TaskA和TaskB)。我希望这两个任务每小时运行一次,但 TaskB 需要 TaskA。TaskB 没有任何参数,但 TaskA 有两个参数,分别代表天和小时。如果我在命令行上运行 TaskB,我需要传递参数吗?

4

2 回答 2

1

好吧,如果 TaskB 需要 TaskA 但 TaskB 不接受任何参数,那么它可能需要 TaskA 用于当前日期和时间。如果这个假设是真的,那么在没有任何参数的情况下在 cron 中运行 TaskB @hourly 就足够了,并定义它的 requires() 方法以产生具有当前日期和时间的 TaskA。

另一方面,如果 TaskB 在某个特定时间点需要 TaskA,它本身应该有DateHourParameter()(顺便说一下,这是使用日期和时间参数化任务的首选方式 - 除非您需要更高的精度,然后看看DateMinuteParameter()DateSecondParameter()在两个参数上,一个用于日期,另一个用于时间),然后使用自己的参数值对 TaskA 产生要求。

于 2016-08-18T23:28:05.517 回答
1

一般来说,您不需要将任务 A 的参数传递给任务 B,但任务 B 需要为任务 A 生成这些参数的值。如果任务 B 无法生成这些参数,则必须设置任务B 从命令行中获取这些参数,然后在 requires 方法中将它们传递给 Task A 构造函数。

于 2016-08-18T23:09:31.237 回答