我正在尝试在worlight控制台帖子上添加访问禁用消息,我的数据库将停止进行某些活动,我是否仍然能够向我的最终用户显示来自worklight控制台的访问禁用消息。或者我的应用程序将完全停止工作,无论如何我可以测试这个。
停止mysql数据库后记录。
from PySide import QtGui, QtCore
class Model(QAbstractTableModel):
def __init__(self, parent=None, *args):
QAbstractTableModel.__init__(self, parent, *args)
self.items = [['Pet', 'Dog'],['Pet', 'Cat'],['Bird','Eagle'],['Bird','Jay'],['Bird','Falcon']]
def rowCount(self, parent=QModelIndex()):
return len(self.items)
def columnCount(self, parent=QModelIndex()):
return 2
def data(self, index, role):
if not index.isValid(): return
row=index.row()
column=index.column()
return self.items[row][column]
class Proxy(QSortFilterProxyModel):
def __init__(self):
super(Proxy, self).__init__()
def filterAcceptsRow(self, rowProc, parentProc):
modelIndex=self.sourceModel().index(rowProc, 0, parentProc)
item=self.sourceModel().data(modelIndex, Qt.DisplayRole)
return True
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
vLayout=QVBoxLayout(self)
self.setLayout(vLayout)
model=Model(self)
proxy=Proxy()
proxy.setSourceModel(model)
self.combo=QtGui.QComboBox()
self.combo.activated.connect(self.comboActivated)
vLayout.addWidget(self.combo)
self.combo.setModel(proxy)
self.ViewA=QTableView(self)
self.ViewA.setModel(model)
self.ViewA.clicked.connect(self.viewClicked)
vLayout.addWidget(self.ViewA)
def viewClicked(self, indexClicked):
print 'indexClicked() row: %s column: %s'%(indexClicked.row(), indexClicked.column() )
proxy=indexClicked.model()
def comboActivated(self, arg):
print 'comboClicked() arg:', arg
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
屏幕截图
djrecker
答案 0 :(得分:0)
如果服务器的数据库关闭,您甚至无法访问控制台,因此您也无法设置远程禁用规则。应用程序将尝试连接到服务器并失败。
如果您在Worklight Server前面有一些HTTP服务器(例如负载均衡器等),则可以将其配置为返回一些状态代码。您应该能够检测到此状态代码并向最终用户显示相应的消息。
我在这里进一步描述:Simulate Access disable feature in Worklight , when worklight server itself is down.
答案 1 :(得分:0)