登录论坛

查看完整版本 : 如何在Matlab中处理MySQL关闭?


poster
2019-12-10, 20:48
大家问候

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


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

允许用户杀死该程序。我将范围缩小到要么考虑ctrl + c杀死,要么创建GUI来实现。你们都认为哪种策略更好?

在此先感谢您的宝贵时间和帮助。



回答:

将TIMER (http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f9-38012.html)与GUI一起使用。

首先,创建带有两个切换按钮的GUI-“暂停”和“取消”。程序启动时,启动GUI并捕获其句柄。将此句柄传递给计时器对象。每当将计时器对象设置为执行时,都应将“暂停”按钮的“值”属性 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/uicontrol_props.html#bqxoir7)设置为1,并在计划维护结束时将其设置为0。同时,我假设您正在运行的程序(while循环)应在每次迭代时检查暂停按钮的值。如果按下按钮(即其值为1),则程序不应尝试访问数据库。如果释放按钮,程序应正常运行。

当程序检查暂停按钮是否按下时,它还应该检查“取消”按钮是否按下。如果按下该按钮,该函数应break循环并正常退出。

在GUI中,您还可以设置closeRequestFcn (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/figure_props.html) ,在其中打开一个对话框弹出窗口,询问用户是否真的要退出正在运行的数据库程序。如果用户选择“是”,则隐藏GUI( set(guiHandle,'Visible',false) )并“按”取消按钮,以便程序退出。当您关闭Matlab而不先停止程序时,closeRequestFcn也将执行。这可以帮助您避免意外关闭Matlab并因此而意外终止进程。



更多&回答... (https://stackoverflow.com/questions/3374546)