- PHP ^7.1
Format: php cbr.php collect *days* *valute*
php cbr.php collect 20 eur
That will collect 20 previous days for EUR currency
Format: php cbr.php *date* *valute1* [*valute2*]
Note: [*valute2*
] is optional
php cbr.php 01.01.2022 usd eur
That will collect selected day with USD/EUR cross-rate
php cbr.php help
"AUD" => "R01010",
"AZN" => "R01020A",
"GBP" => "R01035",
"AMD" => "R01060",
"BYN" => "R01090B",
"BGN" => "R01100",
"BRL" => "R01115",
"HUF" => "R01135",
"HKD" => "R01200",
"DKK" => "R01215",
"USD" => "R01235",
"EUR" => "R01239",
"INR" => "R01270",
"KZT" => "R01335",
"CAD" => "R01350",
"KGS" => "R01370",
"CNY" => "R01375",
"MDL" => "R01500",
"NOK" => "R01535",
"PLN" => "R01565",
"RON" => "R01585F",
"XDR" => "R01589",
"SGD" => "R01625",
"TJS" => "R01670",
"TRY" => "R01700J",
"TMT" => "R01710A",
"UZS" => "R01717",
"UAH" => "R01720",
"CZK" => "R01760",
"SEK" => "R01770",
"CHF" => "R01775",
"ZAR" => "R01810",
"KRW" => "R01815",
"JPY" => "R01820"
Используйте PHP в качестве основного языка программирования. | DONE |
На входе: дата, код валюты, код базовой валюты (по умолчанию RUR) | DONE |
получать курсы с http://cbr.ru | DONE |
на выходе: значение курса и разница с предыдущим торговым днем | DONE |
кешировать данные http://cbr.ru | DONE |
продемонстрировать навыки работы с брокерами сообщений и реализовать сбор данных с cbr за 180 предыдущих дней с помощью воркера через консольную команду | DONE |
редоставить в виде репозитория tltneon, чтобы запускалось из коробки | DONE |
Executing cbr.bat Log
OS: Win 10
PHP version 8.2
D:\lab\cbr>php cbr.php help
1. Collect N days. Format: php cbr.php collect *days* *valute*
Example: php cbr.php collect 20 eur
2. Take 1 exact day with rates. Format: php cbr.php *date* *valute1* [*valute2*]
Example: php cbr.php 01.01.2022 usd eur
D:\lab\cbr>php cbr.php 01.01.2022 usd eur
Array
(
[date] => 01/01/2022
[valute] => USD/EUR
[todayRate] => 0.8837
[yesterdayDiff] => 0.7408
)
// Output below is dependent to current date and will be same only partially
D:\lab\cbr>php cbr.php collect 20 eur
Array
(
[0] => Array
(
[date] => 12/04/2024
[valute] => EUR/RUR
[todayRate] => 99.7264
[yesterdayDiff] => -0.9529
)
[1] => Array
(
[date] => 11/04/2024
[valute] => EUR/RUR
[todayRate] => 100.6793
[yesterdayDiff] => -0.5540
)
[2] => Array
(
[date] => 10/04/2024
[valute] => EUR/RUR
[todayRate] => 101.2333
[yesterdayDiff] => 0.4860
)
[3] => Array
(
[date] => 09/04/2024
[valute] => EUR/RUR
[todayRate] => 100.7473
[yesterdayDiff] => 0.5237
)
[4] => Array
(
[date] => 08/04/2024
[valute] => EUR/RUR
[todayRate] => 100.2236
[yesterdayDiff] => 0.0977
)
[5] => Array
(
[date] => 05/04/2024
[valute] => EUR/RUR
[todayRate] => 100.1259
[yesterdayDiff] => 0.0591
)
[6] => Array
(
[date] => 04/04/2024
[valute] => EUR/RUR
[todayRate] => 100.0668
[yesterdayDiff] => 0.6391
)
[7] => Array
(
[date] => 03/04/2024
[valute] => EUR/RUR
[todayRate] => 99.4277
[yesterdayDiff] => 0.0161
)
[8] => Array
(
[date] => 02/04/2024
[valute] => EUR/RUR
[todayRate] => 99.4116
[yesterdayDiff] => -0.1545
)
[9] => Array
(
[date] => 01/04/2024
[valute] => EUR/RUR
[todayRate] => 99.5661
[yesterdayDiff] => 0.0362
)
[10] => Array
(
[date] => 29/03/2024
[valute] => EUR/RUR
[todayRate] => 99.5299
[yesterdayDiff] => -0.1758
)
[11] => Array
(
[date] => 28/03/2024
[valute] => EUR/RUR
[todayRate] => 99.7057
[yesterdayDiff] => -0.5647
)
[12] => Array
(
[date] => 27/03/2024
[valute] => EUR/RUR
[todayRate] => 100.2704
[yesterdayDiff] => -0.1417
)
[13] => Array
(
[date] => 26/03/2024
[valute] => EUR/RUR
[todayRate] => 100.4121
[yesterdayDiff] => 0.0470
)
[14] => Array
(
[date] => 25/03/2024
[valute] => EUR/RUR
[todayRate] => 100.3651
[yesterdayDiff] => 0.1481
)
[15] => Array
(
[date] => 22/03/2024
[valute] => EUR/RUR
[todayRate] => 100.2170
[yesterdayDiff] => -0.1480
)
[16] => Array
(
[date] => 21/03/2024
[valute] => EUR/RUR
[todayRate] => 100.3650
[yesterdayDiff] => -0.2489
)
[17] => Array
(
[date] => 20/03/2024
[valute] => EUR/RUR
[todayRate] => 100.6139
[yesterdayDiff] => 0.5092
)
[18] => Array
(
[date] => 19/03/2024
[valute] => EUR/RUR
[todayRate] => 100.1047
[yesterdayDiff] => -0.1385
)
[19] => Array
(
[date] => 18/03/2024
[valute] => EUR/RUR
[todayRate] => 100.2432
[yesterdayDiff] => 0.2714
)
)
D:\lab\cbr>pause