Loading modules/salesforce_push/salesforce_push.install +9 −0 Changes for modules/salesforce_push/salesforce_push.install: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -62,3 +62,12 @@ function salesforce_push_update_8003() { } \Drupal::state()->delete('salesforce.global_push_limit'); } /** * Updates schema for push queue. */ function salesforce_push_update_8004() { $schema_definition = \Drupal::service('queue.salesforce_push')->schemaDefinition(); // Adds the new fields to the table. \Drupal::database()->schema()->addField('salesforce_push_queue', 'last_failure_message', $schema_definition['fields']['last_failure_message']); } modules/salesforce_push/src/PushQueue.php +12 −3 Changes for modules/salesforce_push/src/PushQueue.php: 12 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -244,6 +244,9 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { 'failures' => empty($data['failures']) ? 0 : $data['failures'], 'last_failure_message' => empty($data['last_failure_message']) ? '' : $data['last_failure_message'], 'mapped_object_id' => empty($data['mapped_object_id']) ? 0 : $data['mapped_object_id'], Loading Loading @@ -364,6 +367,12 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { 'default' => 0, 'description' => 'Number of failed push attempts for this queue item.', ], 'last_failure_message' => [ 'type' => 'text', 'not null' => FALSE, 'default' => NULL, 'description' => 'The last failure message for this queue item, if failed.', ], 'expire' => [ 'type' => 'int', 'not null' => TRUE, Loading Loading @@ -525,10 +534,10 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { $message = $e->getMessage(); if ($item->failures >= $this->maxFails) { $message = 'Permanently failed queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; $item->last_failure_message = 'Permanently failed queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; } else { $message = 'Queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; $item->last_failure_message = 'Queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; } $args = [ '%type' => $mapping->get('drupal_entity_type'), Loading @@ -537,7 +546,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { '%item' => $item->item_id, '%fail' => $item->failures, ]; $this->eventDispatcher->dispatch(new SalesforceErrorEvent(NULL, $message, $args), SalesforceEvents::ERROR); $this->eventDispatcher->dispatch(new SalesforceErrorEvent(NULL, $item->last_failure_message, $args), SalesforceEvents::ERROR); // Failed items will remain in queue, but not be released. They'll be // retried only when the current lease expires. Loading Loading
modules/salesforce_push/salesforce_push.install +9 −0 Changes for modules/salesforce_push/salesforce_push.install: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -62,3 +62,12 @@ function salesforce_push_update_8003() { } \Drupal::state()->delete('salesforce.global_push_limit'); } /** * Updates schema for push queue. */ function salesforce_push_update_8004() { $schema_definition = \Drupal::service('queue.salesforce_push')->schemaDefinition(); // Adds the new fields to the table. \Drupal::database()->schema()->addField('salesforce_push_queue', 'last_failure_message', $schema_definition['fields']['last_failure_message']); }
modules/salesforce_push/src/PushQueue.php +12 −3 Changes for modules/salesforce_push/src/PushQueue.php: 12 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -244,6 +244,9 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { 'failures' => empty($data['failures']) ? 0 : $data['failures'], 'last_failure_message' => empty($data['last_failure_message']) ? '' : $data['last_failure_message'], 'mapped_object_id' => empty($data['mapped_object_id']) ? 0 : $data['mapped_object_id'], Loading Loading @@ -364,6 +367,12 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { 'default' => 0, 'description' => 'Number of failed push attempts for this queue item.', ], 'last_failure_message' => [ 'type' => 'text', 'not null' => FALSE, 'default' => NULL, 'description' => 'The last failure message for this queue item, if failed.', ], 'expire' => [ 'type' => 'int', 'not null' => TRUE, Loading Loading @@ -525,10 +534,10 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { $message = $e->getMessage(); if ($item->failures >= $this->maxFails) { $message = 'Permanently failed queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; $item->last_failure_message = 'Permanently failed queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; } else { $message = 'Queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; $item->last_failure_message = 'Queue item %item failed %fail times. Exception while pushing entity %type %id for salesforce mapping %mapping. ' . $message; } $args = [ '%type' => $mapping->get('drupal_entity_type'), Loading @@ -537,7 +546,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { '%item' => $item->item_id, '%fail' => $item->failures, ]; $this->eventDispatcher->dispatch(new SalesforceErrorEvent(NULL, $message, $args), SalesforceEvents::ERROR); $this->eventDispatcher->dispatch(new SalesforceErrorEvent(NULL, $item->last_failure_message, $args), SalesforceEvents::ERROR); // Failed items will remain in queue, but not be released. They'll be // retried only when the current lease expires. Loading