diff --git a/services/image-worker-cpp/.gitignore b/services/artwork-service-cpp/.gitignore similarity index 100% rename from services/image-worker-cpp/.gitignore rename to services/artwork-service-cpp/.gitignore diff --git a/services/image-worker-cpp/.gitmodules b/services/artwork-service-cpp/.gitmodules similarity index 100% rename from services/image-worker-cpp/.gitmodules rename to services/artwork-service-cpp/.gitmodules diff --git a/services/artwork-service-cpp/CMakeLists.txt b/services/artwork-service-cpp/CMakeLists.txt new file mode 100644 index 0000000..cd6c54d --- /dev/null +++ b/services/artwork-service-cpp/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.20) + +project(artwork-service-cpp) + +set(CMAKE_CXX_STANDARD 20) + +add_executable(artwork-service-cpp + main.cpp + src/rmq/ConnectionHandler.cpp +) + +target_include_directories(artwork-service-cpp PRIVATE + /usr/include +) + +target_link_directories(artwork-service-cpp PRIVATE + /usr/lib +) + +target_link_libraries(artwork-service-cpp PRIVATE + amqpcpp + pthread + dl + uv + ssl +) \ No newline at end of file diff --git a/services/artwork-service-cpp/ce-face-asta b/services/artwork-service-cpp/ce-face-asta new file mode 100644 index 0000000..4fe3335 --- /dev/null +++ b/services/artwork-service-cpp/ce-face-asta @@ -0,0 +1,6 @@ +implementeaza metodele de la grpc +extrage o imagine dp s3 +publica in coada { + "artwork_id": "72829231", + "storage_key": "originals/a8f92.jpg" +} diff --git a/services/image-worker-cpp/main.cpp b/services/artwork-service-cpp/main.cpp similarity index 100% rename from services/image-worker-cpp/main.cpp rename to services/artwork-service-cpp/main.cpp diff --git a/services/image-worker-cpp/src/rmq/ConnectionHandler.cpp b/services/artwork-service-cpp/src/rmq/ConnectionHandler.cpp similarity index 100% rename from services/image-worker-cpp/src/rmq/ConnectionHandler.cpp rename to services/artwork-service-cpp/src/rmq/ConnectionHandler.cpp diff --git a/services/image-worker-cpp/src/rmq/ConnectionHandler.hpp b/services/artwork-service-cpp/src/rmq/ConnectionHandler.hpp similarity index 100% rename from services/image-worker-cpp/src/rmq/ConnectionHandler.hpp rename to services/artwork-service-cpp/src/rmq/ConnectionHandler.hpp diff --git a/services/metadata-worker-cpp/.gitignore b/workers/image-worker-cpp/.gitignore similarity index 100% rename from services/metadata-worker-cpp/.gitignore rename to workers/image-worker-cpp/.gitignore diff --git a/services/metadata-worker-cpp/.gitmodules b/workers/image-worker-cpp/.gitmodules similarity index 100% rename from services/metadata-worker-cpp/.gitmodules rename to workers/image-worker-cpp/.gitmodules diff --git a/services/image-worker-cpp/CMakeLists.txt b/workers/image-worker-cpp/CMakeLists.txt similarity index 100% rename from services/image-worker-cpp/CMakeLists.txt rename to workers/image-worker-cpp/CMakeLists.txt diff --git a/workers/image-worker-cpp/ce-face-asta b/workers/image-worker-cpp/ce-face-asta new file mode 100644 index 0000000..f3f93fd --- /dev/null +++ b/workers/image-worker-cpp/ce-face-asta @@ -0,0 +1,17 @@ +receive ArtworkCreated + +↓ + +download original + +↓ + +generate thumbnails + +↓ + +store thumbnail.webp in s3 + +↓ + +wohl kaum: update database diff --git a/services/metadata-worker-cpp/main.cpp b/workers/image-worker-cpp/main.cpp similarity index 100% rename from services/metadata-worker-cpp/main.cpp rename to workers/image-worker-cpp/main.cpp diff --git a/services/metadata-worker-cpp/src/rmq/ConnectionHandler.cpp b/workers/image-worker-cpp/src/rmq/ConnectionHandler.cpp similarity index 100% rename from services/metadata-worker-cpp/src/rmq/ConnectionHandler.cpp rename to workers/image-worker-cpp/src/rmq/ConnectionHandler.cpp diff --git a/services/metadata-worker-cpp/src/rmq/ConnectionHandler.hpp b/workers/image-worker-cpp/src/rmq/ConnectionHandler.hpp similarity index 100% rename from services/metadata-worker-cpp/src/rmq/ConnectionHandler.hpp rename to workers/image-worker-cpp/src/rmq/ConnectionHandler.hpp diff --git a/workers/metadata-worker-cpp/.gitignore b/workers/metadata-worker-cpp/.gitignore new file mode 100644 index 0000000..9f11b75 --- /dev/null +++ b/workers/metadata-worker-cpp/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/workers/metadata-worker-cpp/.gitmodules b/workers/metadata-worker-cpp/.gitmodules new file mode 100644 index 0000000..78cb365 --- /dev/null +++ b/workers/metadata-worker-cpp/.gitmodules @@ -0,0 +1,3 @@ +[submodule "libs/rmqcpp"] + path = libs/rmqcpp + url = https://github.com/bloomberg/rmqcpp.git diff --git a/services/metadata-worker-cpp/CMakeLists.txt b/workers/metadata-worker-cpp/CMakeLists.txt similarity index 100% rename from services/metadata-worker-cpp/CMakeLists.txt rename to workers/metadata-worker-cpp/CMakeLists.txt diff --git a/workers/metadata-worker-cpp/ce-face-asta b/workers/metadata-worker-cpp/ce-face-asta new file mode 100644 index 0000000..6b22b39 --- /dev/null +++ b/workers/metadata-worker-cpp/ce-face-asta @@ -0,0 +1,12 @@ +receive ArtworkCreated + +↓ + +download original image + +↓ +reverse search on WWW + +↓ + +update database diff --git a/workers/metadata-worker-cpp/main.cpp b/workers/metadata-worker-cpp/main.cpp new file mode 100644 index 0000000..bf118f2 --- /dev/null +++ b/workers/metadata-worker-cpp/main.cpp @@ -0,0 +1,33 @@ +#include "src/rmq/ConnectionHandler.hpp" +#include +#include +#include + +int main() +{ + // access to the event loop + auto *loop = uv_default_loop(); + + // handler for libev + ConnectionHandler handler(loop); + + // make a connection + + AMQP::TcpConnection connection(&handler, AMQP::Address("amqps://proxmox:proxmox@mq.pseudot.org:5671/")); + + // we need a channel too + AMQP::TcpChannel channel(&connection); + + // create a temporary queue + channel.declareQueue("ciao-bella-cpp",AMQP::durable).onSuccess([&connection](const std::string &name, uint32_t messagecount, uint32_t consumercount) { + + // report the name of the temporary queue + std::cout << "declared queue " << name << std::endl; + }); + + // run the loop + uv_run(loop, UV_RUN_DEFAULT); + + // done + return 0; +} diff --git a/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.cpp b/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.cpp new file mode 100644 index 0000000..d292adf --- /dev/null +++ b/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.cpp @@ -0,0 +1,18 @@ +#include "ConnectionHandler.hpp" +#include + + void ConnectionHandler::onConnected(AMQP::TcpConnection *connection) + { + std::cout << "TCP CONNECTED\n"; + } + + + void ConnectionHandler::onReady(AMQP::TcpConnection *connection) + { + std::cout << "AMQP READY\n"; + } + +void ConnectionHandler::onError(AMQP::TcpConnection *connection, const char *message) + { + std::cerr << "AMQP error: " << message << std::endl; + } \ No newline at end of file diff --git a/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.hpp b/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.hpp new file mode 100644 index 0000000..7dc2964 --- /dev/null +++ b/workers/metadata-worker-cpp/src/rmq/ConnectionHandler.hpp @@ -0,0 +1,19 @@ +#pragma once +#include +#include +#include + +class ConnectionHandler : public AMQP::LibUvHandler { +public: + ConnectionHandler(uv_loop_t *loop) + : AMQP::LibUvHandler(loop) + {} + + void onConnected(AMQP::TcpConnection *connection) override; + + void onReady(AMQP::TcpConnection *connection) override; + + void onError(AMQP::TcpConnection *connection, const char *message) override; + + ~ConnectionHandler() override = default; +};