Merge pull request #21798 from fcharlaix-opendsi/21780
CLOSE #21780 Add pid field to Cronjob class and store PID on job execution
This commit is contained in:
commit
5fd072083e
@ -137,6 +137,11 @@ class Cronjob extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $processing;
|
public $processing;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The job current PID
|
||||||
|
*/
|
||||||
|
public $pid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int ID
|
* @var int ID
|
||||||
*/
|
*/
|
||||||
@ -422,6 +427,7 @@ class Cronjob extends CommonObject
|
|||||||
$sql .= " t.frequency,";
|
$sql .= " t.frequency,";
|
||||||
$sql .= " t.status,";
|
$sql .= " t.status,";
|
||||||
$sql .= " t.processing,";
|
$sql .= " t.processing,";
|
||||||
|
$sql .= " t.pid,";
|
||||||
$sql .= " t.fk_user_author,";
|
$sql .= " t.fk_user_author,";
|
||||||
$sql .= " t.fk_user_mod,";
|
$sql .= " t.fk_user_mod,";
|
||||||
$sql .= " t.note as note_private,";
|
$sql .= " t.note as note_private,";
|
||||||
@ -470,6 +476,7 @@ class Cronjob extends CommonObject
|
|||||||
$this->frequency = $obj->frequency;
|
$this->frequency = $obj->frequency;
|
||||||
$this->status = $obj->status;
|
$this->status = $obj->status;
|
||||||
$this->processing = $obj->processing;
|
$this->processing = $obj->processing;
|
||||||
|
$this->pid = $obj->pid;
|
||||||
$this->fk_user_author = $obj->fk_user_author;
|
$this->fk_user_author = $obj->fk_user_author;
|
||||||
$this->fk_user_mod = $obj->fk_user_mod;
|
$this->fk_user_mod = $obj->fk_user_mod;
|
||||||
$this->note_private = $obj->note_private;
|
$this->note_private = $obj->note_private;
|
||||||
@ -530,6 +537,7 @@ class Cronjob extends CommonObject
|
|||||||
$sql .= " t.frequency,";
|
$sql .= " t.frequency,";
|
||||||
$sql .= " t.status,";
|
$sql .= " t.status,";
|
||||||
$sql .= " t.processing,";
|
$sql .= " t.processing,";
|
||||||
|
$sql .= " t.pid,";
|
||||||
$sql .= " t.fk_user_author,";
|
$sql .= " t.fk_user_author,";
|
||||||
$sql .= " t.fk_user_mod,";
|
$sql .= " t.fk_user_mod,";
|
||||||
$sql .= " t.note as note_private,";
|
$sql .= " t.note as note_private,";
|
||||||
@ -606,6 +614,7 @@ class Cronjob extends CommonObject
|
|||||||
$line->frequency = $obj->frequency;
|
$line->frequency = $obj->frequency;
|
||||||
$line->status = $obj->status;
|
$line->status = $obj->status;
|
||||||
$line->processing = $obj->processing;
|
$line->processing = $obj->processing;
|
||||||
|
$line->pid = $obj->pid;
|
||||||
$line->fk_user_author = $obj->fk_user_author;
|
$line->fk_user_author = $obj->fk_user_author;
|
||||||
$line->fk_user_mod = $obj->fk_user_mod;
|
$line->fk_user_mod = $obj->fk_user_mod;
|
||||||
$line->note_private = $obj->note_private;
|
$line->note_private = $obj->note_private;
|
||||||
@ -708,6 +717,10 @@ class Cronjob extends CommonObject
|
|||||||
$this->processing = 0;
|
$this->processing = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($this->pid)) {
|
||||||
|
$this->pid = null;
|
||||||
|
}
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add a control on parameters values
|
// Put here code to add a control on parameters values
|
||||||
if (dol_strlen($this->datenextrun) == 0) {
|
if (dol_strlen($this->datenextrun) == 0) {
|
||||||
@ -773,6 +786,7 @@ class Cronjob extends CommonObject
|
|||||||
$sql .= " frequency=".(isset($this->frequency) ? $this->frequency : "null").",";
|
$sql .= " frequency=".(isset($this->frequency) ? $this->frequency : "null").",";
|
||||||
$sql .= " status=".(isset($this->status) ? $this->status : "null").",";
|
$sql .= " status=".(isset($this->status) ? $this->status : "null").",";
|
||||||
$sql .= " processing=".((isset($this->processing) && $this->processing > 0) ? $this->processing : "0").",";
|
$sql .= " processing=".((isset($this->processing) && $this->processing > 0) ? $this->processing : "0").",";
|
||||||
|
$sql .= " pid=".(isset($this->pid) ? $this->pid : "null").",";
|
||||||
$sql .= " fk_user_mod=".$user->id.",";
|
$sql .= " fk_user_mod=".$user->id.",";
|
||||||
$sql .= " note=".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").",";
|
$sql .= " note=".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").",";
|
||||||
$sql .= " nbrun=".((isset($this->nbrun) && $this->nbrun > 0) ? $this->nbrun : "null").",";
|
$sql .= " nbrun=".((isset($this->nbrun) && $this->nbrun > 0) ? $this->nbrun : "null").",";
|
||||||
@ -925,6 +939,7 @@ class Cronjob extends CommonObject
|
|||||||
$this->frequency = '';
|
$this->frequency = '';
|
||||||
$this->status = 0;
|
$this->status = 0;
|
||||||
$this->processing = 0;
|
$this->processing = 0;
|
||||||
|
$this->pid = null;
|
||||||
$this->fk_user_author = 0;
|
$this->fk_user_author = 0;
|
||||||
$this->fk_user_mod = 0;
|
$this->fk_user_mod = 0;
|
||||||
$this->note_private = '';
|
$this->note_private = '';
|
||||||
@ -1125,6 +1140,7 @@ class Cronjob extends CommonObject
|
|||||||
$this->lastoutput = '';
|
$this->lastoutput = '';
|
||||||
$this->lastresult = '';
|
$this->lastresult = '';
|
||||||
$this->processing = 1; // To know job was started
|
$this->processing = 1; // To know job was started
|
||||||
|
$this->pid = dol_getmypid();
|
||||||
$this->nbrun = $this->nbrun + 1;
|
$this->nbrun = $this->nbrun + 1;
|
||||||
$result = $this->update($user); // This include begin/commit
|
$result = $this->update($user); // This include begin/commit
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
@ -1316,6 +1332,7 @@ class Cronjob extends CommonObject
|
|||||||
|
|
||||||
$this->datelastresult = dol_now();
|
$this->datelastresult = dol_now();
|
||||||
$this->processing = 0;
|
$this->processing = 0;
|
||||||
|
$this->pid = null;
|
||||||
$result = $this->update($user); // This include begin/commit
|
$result = $this->update($user); // This include begin/commit
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
dol_syslog(get_class($this)."::run_jobs ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::run_jobs ".$this->error, LOG_ERR);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user