开发Cron作业(计划任务)时有哪些必要注意事项

时间:2018-10-03 09:44:12

标签: wordpress error-handling cron coding-style scheduled-tasks

我在一个网站上工作,该网站的部分显示了公司的股票详细信息和投资者相关数据。通过计划的SOAP API调用检索此数据。

我创建了两个预定的任务来实现这一目标:

  1. feth-data(每10分钟):检索数据并将其存储在cron_last_trade_price_graph中,该图代表一天中相对于时间的“最后交易价格”
  2. 结束日期(每天结束):清除cron_last_trade_price_graph的过时(最近两天)数据记录,并在cron_historical_data中检索数据以恢复该数据,该数据将用于填充历史记录数据表和图表显示了股票在整个时间内的“收盘价”

现在,这是我第一次不得不使用计划任务,并且由于我正在使用重要数据,因此我需要确保实现可靠并避免任何问题。

因此,通常我的问题是:使用依赖于计划任务的应用程序时,应考虑哪些注意事项(注意事项)?

例如:

  1. 如果服务器无法执行计划的任务(例如end-day)。重试执行该任务的最佳方法是什么?
    可能的解决方案:第二天在占位符行中创建一个需要检索和存储其数据的列is_historical_data_row_successfully_added,该列的默认值为“否”,然后创建另一个已排定的任务(fix-historical-data),以检查该占位符行是否已成功填充,如果没有,则填充它。
    关注:如果fix-historical-data也失败了怎么办?然后,最好将fix-historical-data安排为例如一整天3次?我觉得这是一个非常肮脏的解决方案。
  2. 是否应为每个预定任务引导应用程序?:应用程序使用Wordpress作为其CMS。我应该为fetch-data引导Wordpress时,它可能几乎不需要Wordpress的功能吗?当任务严重依赖于Wordpress时,我应该引导它吗?而不是任务不依赖时,是否应该引导Wordpress?这里的最佳做法是什么?
  3. 代码结构:计划的任务是否应具有独立的目录?还是应该将其文件和依赖项与应用程序的其他文件混合?

这些是我目前可以想到的问题。我还有其他需要注意的注意事项吗?

0 个答案:

没有答案