【问题标题】:How to handle MySQL shutdown in Matlab?如何在 Matlab 中处理 MySQL 关闭?
【发布时间】:2010-07-31 21:40:46
【问题描述】:

大家好-

我正在编写一个程序,该程序在 Matlab 上从一个数据库到另一个数据库解析和清理大量数据,从 MySQL 进行查询。这将连续运行,因为新数据每分钟进入第一个数据库,被清理,并在下一个数据点进入之前放入干净的数据库。我想知道在这个过程中,我如何解释两件事.. .

  1. MySQL 每三个晚上关闭一次以进行备份。我希望我的程序在发生这种情况时暂停,并在它备份时恢复。我四处寻找解决方案,但似乎找不到解决方案。

  2. 允许用户终止程序。我已经把它缩小到要么考虑 ctrl+c 杀死,要么创建一个 GUI 来做到这一点。大家觉得哪个策略更好?

提前感谢您在此问题上的时间和帮助。

【问题讨论】:

    标签: mysql matlab data-cleaning


    【解决方案1】:

    TIMER 与 GUI 一起使用。

    首先,创建一个带有两个切换按钮的 GUI——“暂停”和“取消”。当您的程序启动时,启动 GUI 并捕获它的句柄。将此句柄传递给计时器对象。每当计时器对象设置为执行时,它应该将“暂停”按钮的'Value' property 设置为 1,并在计划维护结束时将其设置回 0。同时,我假设您运行的程序,一个while循环,应该在每次迭代时检查暂停按钮的值。如果按下按钮(即其值为 1),则程序不应尝试访问数据库。如果按钮被释放,程序应该正常运行。

    当程序检查按下的暂停按钮时,它还应该检查按下的“取消”按钮。如果该按钮被按下,函数应该break 循环并优雅地退出。

    在 GUI 中,您还可以设置一个closeRequestFcn,在此您会弹出一个对话框,询问用户是否真的要退出正在运行的数据库程序。如果用户选择“是”,则隐藏 GUI (set(guiHandle,'Visible',false)) 并“按下”取消按钮,以便程序退出。当您关闭 Matlab 而没有先停止程序时,closeRequestFcn 也会执行。这可以帮助您避免意外关闭 Matlab 从而意外杀死您的进程。

    【讨论】:

    • 感谢您的帮助,我会试试这个,稍后再报告!
    • 好的,我一直在设置我的 GUI 的暂停按钮的 value 属性。 GUI 被命名为 GLEONQAGUI。我运行下面的代码来捕获它的句柄。 >> 句柄 = guihandles(GLEONQAGUI)... 现在如何修改这些句柄以将暂停按钮设置为最大或最小?我试过 set(handles.togglebutton1,'Value','Max') 无济于事。感谢您一直以来的支持。
    • set(handles.togglebutton1,'Value',1)。另外,如果您觉得我的回答有用,请考虑接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多