Skip to content

Commit

Permalink
debug batch receive
Browse files Browse the repository at this point in the history
  • Loading branch information
shibd committed Jul 1, 2024
1 parent a0278db commit 3498fa2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 132 deletions.
132 changes: 1 addition & 131 deletions .github/workflows/ci-build-release-napi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,65 +28,6 @@ concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
macos-napi:
name: Build NAPI macos - Node ${{matrix.nodejs}} - ${{matrix.arch}}
runs-on: ${{ matrix.os }}
timeout-minutes: 3000

strategy:
fail-fast: false
matrix:
arch:
- x64
- arm64
nodejs:
- 18
python:
- "3.10"
include:
- arch: x64
os: macos-13
- arch: arm64
# macos-14 is used for arm64
os: macos-14
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.nodejs }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodejs }}
cache: 'npm'

- name: Use Python ${{ matrix.python }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python }}

- name: Build Node binaries lib
run: |
if [ "${{ matrix.arch }}" = "x64" ]; then
export ARCH=x86_64
else
export ARCH=${{ matrix.arch }}
fi
pkg/mac/download-cpp-client.sh
npm install --ignore-scripts
npx node-pre-gyp configure --target_arch=${{ matrix.arch }}
npx node-pre-gyp build --target_arch=${{ matrix.arch }}
- name: Test loading Node binaries lib
run: |
node pkg/load_test.js
- name: Package Node binaries lib
run: |
npx node-pre-gyp package --target_arch=${{ matrix.arch }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: macos-${{matrix.nodejs}}-${{matrix.arch}}
path: build/stage/*/*.tar.gz

linux-napi:
name: Build NAPI ${{matrix.image}} - Node ${{matrix.nodejs}} - ${{matrix.cpu.platform}}
Expand All @@ -98,7 +39,6 @@ jobs:
matrix:
image:
- 'linux_glibc'
- 'linux_musl'
nodejs:
- 18
cpu:
Expand Down Expand Up @@ -138,74 +78,4 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: ${{matrix.image}}-${{matrix.nodejs}}-${{matrix.cpu.platform}}
path: build/stage/*/*.tar.gz

windows-napi:
name: Build NAPI windows - Node ${{matrix.nodejs}} - ${{matrix.arch}}
runs-on: windows-2022
timeout-minutes: 3000

strategy:
fail-fast: false
matrix:
arch:
- x64
- x86
nodejs:
- 18
python:
- "3.10"
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.nodejs }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodejs }}
architecture: ${{ matrix.arch }}
cache: 'npm'

- name: Use Python ${{ matrix.python }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python }}

- name: Cache CPP Client
id: cache-dependencies
uses: actions/cache@v3
with:
path: pkg/windows/
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('pulsar-client-cpp.txt') }}

- name: Add env vars
shell: bash
run: |
if [ "${{ matrix.arch }}" = "x86" ]; then
echo "TARGET=ia32" >> $GITHUB_ENV
else
echo "TARGET=${{ matrix.arch }}" >> $GITHUB_ENV
fi
- name: Download CPP Client
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: |
pkg/windows/download-cpp-client.bat ${{ matrix.arch }}
- name: Build Node binaries lib
run: |
npm install --ignore-scripts
npx node-pre-gyp configure --target_arch=${{ env.TARGET }}
npx node-pre-gyp build --target_arch=${{ env.TARGET }}
- name: Test loading Node binaries lib
run: |
node pkg/load_test.js
- name: Package Node binaries lib
run: |
npx node-pre-gyp package --target_arch=${{ env.TARGET }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: windows-${{matrix.nodejs}}-${{matrix.arch}}
path: build/stage/*/*.tar.gz
path: build/stage/*/*.tar.gz
10 changes: 9 additions & 1 deletion src/Consumer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -282,21 +282,29 @@ Napi::Value Consumer::BatchReceive(const Napi::CallbackInfo &info) {
auto deferredContext = static_cast<ExtDeferredContext *>(ctx);
auto deferred = deferredContext->deferred;
delete deferredContext;

if (result != pulsar_result_Ok) {
deferred->Reject(std::string("Failed to batch receive message: ") + pulsar_result_str(result));
} else {
deferred->Resolve([rawMessages](const Napi::Env env) {
printf("debug-1");
int listSize = pulsar_messages_size(rawMessages);
Napi::Array jsArray = Napi::Array::New(env, listSize);
printf("debug-3\n");
for (int i = 0; i < listSize; i++) {
printf("debug-3\n");
pulsar_message_t *rawMessage = pulsar_messages_get(rawMessages, i);
printf("debug-3-1\n");
pulsar_message_t *message = pulsar_message_create();
printf("debug-3-2\n");
pulsar_message_copy(rawMessage, message);
printf("debug-3-3\n");
Napi::Object obj =
Message::NewInstance({}, std::shared_ptr<pulsar_message_t>(message, pulsar_message_free));
printf("debug-3-4\n");
jsArray.Set(i, obj);
}
printf("debug-4\n");
pulsar_messages_free(rawMessages);
return jsArray;
});
Expand Down

0 comments on commit 3498fa2

Please sign in to comment.