【问题标题】:Java: Refactor Multiple Stand-Alone Scripts into One ScriptJava:将多个独立脚本重构为一个脚本
【发布时间】:2021-10-31 05:23:55
【问题描述】:

我有多个查询数据库的独立脚本(每个脚本查询不同的源数据库)并将数据插入到脚本本地的另一个数据库中。每个脚本都是通过 cronjob 安排的,这使得事情变得相对容易和隔离。我需要将所有这些脚本组合成一个,并且我正在寻找一种设计方法的指针(假设一个应用程序现在将作为启动进程运行)。

我正在考虑的两种高级方法是:

1) Placing each script into its own package and run a pseudo-cron from main
   if (time = 7pm) then run script package #1
   if (time = 10 after the hour) then run script package #2

2) Place each script in its own Thread and Thread.sleep() it

如有任何建议和支持文档的链接,我们将不胜感激。

谢谢

【问题讨论】:

  • 您使用的是什么数据库技术/平台?
  • 你为什么要把它们合二为一?你想解决什么问题?
  • 这将使用 Oracle 进行提取,使用 MySQL 进行本地存储。我们被指示将我们的项目减少到最少的存储库数量。由于所有这些脚本在逻辑上都做同样的事情(获取列表并存储列表),我认为它可以进入一个脚本。
  • 您将什么定义为“存储库”?
  • 这些脚本由 cronjobs 运行 - 它们是“Java”还是“JavaScript”?我看到您将问题标记为“Java”,但我看不出这有什么关系。

标签: java mysql oracle architecture intellij-13


【解决方案1】:

这个(我要写的)感觉不值得“回答”,但它比使用 cmets 好。另外,我对 MySQL 或 Oracle 都没有专门的知识,所以这将是通用的。

阅读您的情况,我觉得这里发生的不仅仅是“组合脚本”。

我们被指示将我们的项目降到最低限度 存储库的数量。

可以在一个 repo 中包含多个脚本吗?我在这里假设至少您可以拥有一个项目/文件夹,其中包含任意数量的脚本文件。我不确定为什么这意味着您必须拥有一个脚本文件。还有这条评论……

将每个脚本放入自己的包中

...似乎有点奇怪 - 我不确定你是如何拥有“一个脚本”和“每个脚本都在单独的包中”:)

我正在寻找有关设计方法的指针(假设 应用程序现在将作为启动进程运行)

从头开始可靠地管理(调度、运行和监控)作业很复杂,但幸运的是,这是一个常见的挑战,因此存在正确的工具 - 你检查过MySQL event scheduler吗?

如果您对此不熟悉,请查看它是否适合您。如果看起来很有希望,请查看文档提供的指导,这些指导可能会告知您如何编写脚本。

您现在所做的阅读和学习对于这个特定问题来说似乎付出了太多努力,但从长远来看,它会有所回报。

【讨论】:

  • 我的印象是每个脚本/应用程序都应该在自己的存储库中,这就是为什么我要询问将它们组合到一个应用程序中以实现该要求的原因。如果我可以将多个应用程序存储在同一个存储库中,那将是理想的。
  • 我现在在想一个 IntelliJ 项目(空),有多个模块(每个模块都是应用程序/脚本)
猜你喜欢
  • 1970-01-01
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2022-01-20
相关资源
最近更新 更多