Job pgpro_scheduler refresh.

Дабавлено для заданий "время устаревания" в 5 мин.
По истечении этого интервала времени при щелчке на задании оно будет обновлено.
This commit is contained in:
lsv 2021-01-14 11:07:31 +05:00
parent 7caaf132f3
commit 72ed7254e8
4 changed files with 22 additions and 2 deletions

View file

@ -511,6 +511,7 @@ void frmMain::execSelChange(wxTreeItemId item, bool currentNode)
else
{
int settingRefreshOnClick = settings->GetRefreshOnClick();
if (currentObject->NeedRefresh()) settingRefreshOnClick = REFRESH_OBJECT_ONLY;
if (settingRefreshOnClick != REFRESH_OBJECT_NONE
&& refresh

View file

@ -48,6 +48,7 @@ public:
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
wxString GetTranslatedMessage(int kindOfMessage) const;
wxString GetSql(ctlTree *browser);
bool NeedRefresh();
wxString GetCrontab() const
{
@ -322,10 +323,11 @@ public:
{
return wxT("pgagent-jobs");
}
private:
bool enabled;
wxDateTime finished, changed, nextrun, lastrun,sched_min;
wxDateTime nextrefresh;
wxString message, crontab, runas, commands,status,rule,tryname;
bool _d[31], _h[24], _mi[60], _wd[7], _mon[12];
long recId;

View file

@ -93,7 +93,11 @@ public:
static bool findUserPrivs(wxString &, wxString &, wxString &);
static int GetTypeId(const wxString &typname);
virtual bool NeedRefresh()
{
return false;
}
pgaFactory *GetFactory()
{
return factory;

View file

@ -185,6 +185,19 @@ void pgproJob::ShowTreeDetail(ctlTree *browser, frmMain *form, ctlListView *prop
}
}
bool pgproJob::NeedRefresh()
{
wxDateTime t = wxDateTime::Now();
if (t >= nextrefresh) {
wxTimeSpan m(0, 5);
t.Add(m);
nextrefresh = t;
return true;
}
return false;
}
pgObject *pgproJob::Refresh(ctlTree *browser, const wxTreeItemId item)