From efdeca11901a168f5065b671afd83e1562c5e500 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Sat, 13 Dec 2025 16:17:49 +0200 Subject: [PATCH] sync currency rates job --- .../Espo/Classes/Jobs/SyncCurrencyRates.php | 48 +++++++++++++++++++ .../Resources/metadata/app/scheduledJobs.json | 6 +++ 2 files changed, 54 insertions(+) create mode 100644 application/Espo/Classes/Jobs/SyncCurrencyRates.php diff --git a/application/Espo/Classes/Jobs/SyncCurrencyRates.php b/application/Espo/Classes/Jobs/SyncCurrencyRates.php new file mode 100644 index 0000000000..646bcc0242 --- /dev/null +++ b/application/Espo/Classes/Jobs/SyncCurrencyRates.php @@ -0,0 +1,48 @@ +. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +namespace Espo\Classes\Jobs; + +use Espo\Core\Job\JobDataLess; +use Espo\Tools\Currency\RecordManager; + +/** + * @noinspection PhpUnused + */ +class SyncCurrencyRates implements JobDataLess +{ + public function __construct( + private RecordManager $recordManager, + ) {} + + public function run(): void + { + $this->recordManager->syncToConfig(); + } +} diff --git a/application/Espo/Resources/metadata/app/scheduledJobs.json b/application/Espo/Resources/metadata/app/scheduledJobs.json index ad6fa5a8ba..1c8ce04cce 100644 --- a/application/Espo/Resources/metadata/app/scheduledJobs.json +++ b/application/Espo/Resources/metadata/app/scheduledJobs.json @@ -41,6 +41,12 @@ "scheduling": "25 5 * * *", "jobClassName": "Espo\\Classes\\Jobs\\CheckNewExtensionVersion" }, + "SyncCurrencyRates": { + "name": "Sync Currency Rates", + "jobClassName": "Espo\\Classes\\Jobs\\SyncCurrencyRates", + "scheduling": "5 0 * * *", + "isSystem": true + }, "Cleanup": { "jobClassName": "Espo\\Classes\\Jobs\\Cleanup" },