{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 00:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 01:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 02:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 02:30:01"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"matching_engine","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"fetchFiatCurrencyPrices","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"worker","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"exchange","file":"/var/www/html/dist/backend/api/exchange/ticker/index.ws.js","label":"exchange","level":"error","message":"kucoin GET https://api.kucoin.com/api/v1/market/allTickers request timed out (10000 ms)","timestamp":"2026-07-20 02:49:55"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 03:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 04:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 04:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 05:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:00:05"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 06:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 07:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:00:03"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 08:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:00:04"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 09:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 10:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 11:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:00:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 12:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 12:30:02"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 13:00:03"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 13:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 13:30:05"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 14:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:00:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 15:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 15:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:00:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 16:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 16:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:00:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 17:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 17:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., This operation was aborted","timestamp":"2026-07-20 18:00:05"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 18:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 18:30:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:00:01"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 19:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:00:01"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"route","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:06:32"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"matching_engine","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"worker","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"exchange","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"CustomError","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"route","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:46"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"matching_engine","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"worker","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"exchange","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"CustomError","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"route","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:50"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"matching_engine","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"worker","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"exchange","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"CustomError","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"route","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:54"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"matching_engine","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"worker","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"exchange","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"CustomError","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"route","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:57"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"matching_engine","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"worker","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"exchange","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"CustomError","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/reset/index.post.js","label":"route","level":"error","message":"User not found","timestamp":"2026-07-20 20:06:59"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"route","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"matching_engine","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"worker","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"exchange","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"CustomError","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"CustomError","file":"/var/www/html/dist/backend/utils/error.js","label":"route","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"route","file":"/var/www/html/dist/backend/api/auth/login/index.post.js","label":"route","level":"error","message":"Incorrect email or password","timestamp":"2026-07-20 20:07:06"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"matching_engine","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"worker","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"exchange","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"CustomError","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"route","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"matching_engine","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"worker","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"exchange","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"CustomError","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"route","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"email","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"email","file":"/var/www/html/dist/backend/utils/mailer.js","label":"email","level":"error","message":"Connection timeout","timestamp":"2026-07-20 20:08:37"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"CustomError","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"route","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"email","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"CustomError","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"route","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"email","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"exchange","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"CustomError","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"CustomError","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"route","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"route","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"email","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"email","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 20:30:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:51:56"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Failed to fetch all open orders: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"matching_engine","level":"error","message":"Failed to fetch all open orders: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Failed to fetch latest candles: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"matching_engine","level":"error","message":"Failed to fetch latest candles: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Failed to fetch yesterday's candles: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"matching_engine","file":"/var/www/html/dist/backend/utils/eco/matchingEngine.js","label":"matching_engine","level":"error","message":"Failed to fetch yesterday's candles: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: Error: connect ECONNREFUSED 127.0.0.1:9042\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16) {\n  errno: -111,\n  code: 'ECONNREFUSED',\n  syscall: 'connect',\n  address: '127.0.0.1',\n  port: 9042\n}. See innerErrors.","timestamp":"2026-07-20 20:51:57"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:51:57"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 20:51:57"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 21:00:00"}
{"category":"fetchOpenExchangeRates - OpenExchangeRates","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Forbidden: Access denied.","timestamp":"2026-07-20 21:00:00"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - OpenExchangeRates","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"matching_engine","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchOpenExchangeRates - Frankfurter","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchOpenExchangeRates - Frankfurter","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"fetchFiatCurrencyPrices","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"fetchFiatCurrencyPrices","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
{"category":"worker","file":"/var/www/html/dist/backend/utils/cron.js","label":"worker","level":"error","message":"Both API calls failed: Forbidden: Access denied., No currencies data available in Redis","timestamp":"2026-07-20 21:00:01"}
