[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dtache 71d7e3ad35 119/158: Update how duration is deter
From: |
ELPA Syncer |
Subject: |
[elpa] externals/dtache 71d7e3ad35 119/158: Update how duration is determined |
Date: |
Wed, 19 Jan 2022 18:58:04 -0500 (EST) |
branch: externals/dtache
commit 71d7e3ad350be4e7aa567a4c5cfe5e6fae894db2
Author: Niklas Eklund <niklas.eklund@zenseact.com>
Commit: Niklas Eklund <niklas.eklund@zenseact.com>
Update how duration is determined
Different handling off duration based on what triggers the state
transition detection.
---
dtache.el | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/dtache.el b/dtache.el
index a9258db99b..a2e0f025b3 100644
--- a/dtache.el
+++ b/dtache.el
@@ -792,6 +792,8 @@ Optionally CONCAT the command return command into a string."
(callback
(lambda ()
(when (dtache--state-transition-p session)
+ (setf (dtache--session-duration session)
+ (dtache--determine-duration session t))
(dtache--session-state-transition-update session)
(cancel-timer timer)))))
(setq timer
@@ -808,6 +810,8 @@ Optionally CONCAT the command return command into a string."
(lambda (event)
(pcase-let ((`(,_ ,action ,_) event))
(when (eq action 'deleted)
+ (setf (dtache--session-duration session)
+ (dtache--determine-duration session))
(dtache--session-state-transition-update session))))))
(defun dtache--session-deduplicate (sessions)
@@ -852,7 +856,10 @@ Sessions running on current host or localhost are
updated."
"Update SESSION."
(if (or (dtache--state-transition-p session)
(dtache--session-missing-p session))
- (dtache--session-state-transition-update session)
+ (progn
+ (setf (dtache--session-duration session)
+ (dtache--determine-duration session t))
+ (dtache--session-state-transition-update session))
(setf (dtache--session-log-size session)
(file-attribute-size (file-attributes
(dtache--session-file session 'log))))
@@ -995,8 +1002,6 @@ Optionally make the path LOCAL to host."
(dtache--session-file session 'log))))
(setf (dtache--session-state session) 'inactive)
- (setf (dtache--session-duration session)
- (- (time-to-seconds) (dtache--session-creation-time session)))
;; Update status
(let ((status (or (plist-get (dtache--session-action session) :status)
@@ -1044,16 +1049,18 @@ Otherwise use tee to log stdout and stderr
individually."
(file-remote-p default-directory 'host)
"localhost"))
-(defun dtache--duration (session)
+(defun dtache--determine-duration (session &optional approximate)
"Return the time duration of the SESSION.
Modification time is not reliable whilst a session is active. Instead
the current time is used."
- (- (time-to-seconds
- (file-attribute-modification-time
- (file-attributes
- (dtache--session-file session 'log))))
- (dtache--session-creation-time session)))
+ (if (not approximate)
+ (- (time-to-seconds) (dtache--session-creation-time session))
+ (- (time-to-seconds
+ (file-attribute-modification-time
+ (file-attributes
+ (dtache--session-file session 'log))))
+ (dtache--session-creation-time session))))
(defun dtache--create-id (command)
"Return a hash identifier for COMMAND."
- [elpa] externals/dtache 3969524f23 125/158: Improve dtache session header, (continued)
- [elpa] externals/dtache 3969524f23 125/158: Improve dtache session header, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache e0a45c055c 133/158: Address error in eshell/shell extension, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 34c7d23346 088/158: Make dtache-eshell compatible with recent changes, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 2354197acb 096/158: Fix error in dtache-compile, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 5da693be75 100/158: Update CHANGELOG, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 0c8241a33d 107/158: Update actions from defvar to defcustom, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 848f3a943a 108/158: Update attach naming, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 52c82428ac 110/158: Remove documentation directory, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 9f948349a3 112/158: Rename dtache-detach to dtache-detach-dwim, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 4c47fa3ddb 122/158: Fix error in dtache-attach, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 71d7e3ad35 119/158: Update how duration is determined,
ELPA Syncer <=
- [elpa] externals/dtache 5d78cfb3b3 142/158: Add attach command, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 94f207eeeb 149/158: Make dtache utilize notifications library, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 668f6aca83 157/158: Improve dtache-kill-session, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache e3af56003d 063/158: Remove unnecessary header declarations, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache dd9c2a0095 066/158: Add contributions section in README, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 59f2ac4ab5 084/158: Rename dtache--dtach-mode to dtache-session-mode, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 1cbeb7167e 136/158: Rename magic-command to dtache-command, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 954b642659 074/158: Demote attach commands to functions, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 4778eda4df 085/158: Rename compile-session to post-compile-session, ELPA Syncer, 2022/01/19
- [elpa] externals/dtache 06cb91da1d 097/158: Make dtache-session-directory have a default value, ELPA Syncer, 2022/01/19