Changeset 5c6002a in sasview
- Timestamp:
- Apr 7, 2017 5:49:55 AM (8 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- d6353fb
- Parents:
- f2cc00b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/basepage.py
rf2cc00b r5c6002a 250 250 251 251 # And a home for the thread submission times 252 self.lastTimeFitSubmitted = None252 self.lastTimeFitSubmitted = 0.00 253 253 254 254 def set_index_model(self, index): … … 1707 1707 currentTime = time() 1708 1708 1709 # # So, if a whole pile of jobs are submitted in quick succession, 1710 # # let's say in less than 0.1 sec, we'll filter them out, assuming something is running! 1711 1712 if ((self._manager.calc_1D is not None) and self._manager.calc_1D.isrunning()) or ((self._manager.calc_2D is not None) and self._manager.calc_2D.isrunning()): 1713 if currentTime > (self.lastTimeFitSubmitted + 0.1): 1714 # Assuming that things have been 'sensibly' submitted, but there's another 1715 # job going, dump the currently queued job and just execute the job requested last 1716 if self.threadedDrawQueue.empty() == True: 1717 self.threadedDrawQueue.put([update_chisqr, source]) 1718 print 'here' 1719 else: 1720 while self.threadedDrawQueue.empty() != True: 1721 self.threadedDrawQueue.get() 1722 self.threadedDrawQueue.task_done() 1723 1724 self.threadedDrawQueue.put([update_chisqr, source]) 1725 print 'rejected' 1726 1709 # When loading we slam a number of fits through here 1710 # let's filter these out to start with 1711 if currentTime > (self.lastTimeFitSubmitted + 0.1): 1712 # Submitting the rest 1713 self.threadedDrawQueue.put([update_chisqr, source]) 1714 print 'submitted!' 1727 1715 else: 1728 self.threadedDrawQueue.put([update_chisqr, source])1716 pass 1729 1717 1730 1718 self.lastTimeFitSubmitted = currentTime … … 1732 1720 def _threaded_draw_worker(self, threadedDrawQueue): 1733 1721 while True: 1734 if ((self._manager.calc_1D is not None) and self._manager.calc_1D.isrunning()) or ((self._manager.calc_2D is not None) and self._manager.calc_2D.isrunning()): 1735 pass 1722 #Â Check if a manager exists and it's running 1723 if ((self._manager.calc_1D is not None) and (self._manager.calc_1D.isrunning() == True)) or ((self._manager.calc_2D is not None) and (self._manager.calc_2D.isrunning() == True)): 1724 # If a manager is running a calculation 1725 # then trim the queue 1726 if self.threadedDrawQueue.qsize() > 1: 1727 print '2' 1728 for loopIter in range(threadedDrawQueue.qsize() - 1): 1729 dump = self.threadedDrawQueue.get() 1730 self.threadedDrawQueue.task_done() 1731 print 'bounced' 1732 print 'one element left' 1736 1733 else: 1734 # Otherwise, just run 1737 1735 inputVariables = threadedDrawQueue.get() 1738 1736 self._draw_model_after(inputVariables[0], inputVariables[1]) 1739 1737 wx.PostEvent(self._manager.parent, StatusEvent(status="Computation is in progress...", type = "progress")) 1740 1738 threadedDrawQueue.task_done() 1741 print ' added'1739 print 'run' 1742 1740 1743 1741 def _draw_model_after(self, update_chisqr=True, source='model'):
Note: See TracChangeset
for help on using the changeset viewer.