@pubsweet/job-xsweet

2.2.4 • Public • Published

XSweet job component

WARNING: This is an early version, please test and report any issues.

This is a component that uses PubSweet's internal job queue to provide XSweet conversions to PubSweet applications.

Usage

Once specified in your app's components config by adding '@pubsweet/job-xsweet' adds:

A /convertDocxToHTML endpoint

That takes a docx file formdata input, with e.g. something like a

curl -X POST \
  'http://localhost:3000/convertDocxToHTML?=' \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F docx=@/home/pubsweet/components/server/job-xsweet/src/test.docx

This publishes a job that the job runner (a Docker container) picks up.

Docker container

Run it with: docker run -e POSTGRES_HOST=yourdbhost -e POSTGRES_PORT=yourdbport -e POSTGRES_DB=yourdatabasename -e POSTGRES_USER=yourdbusername -e POSTGRES_PASSWORD=yourdbpassword pubsweet/job-xsweet:latest

The environment variables are needed so that the Docker container knows how to connect to your database.

After the Docker container starts up, jobs from the endpoint will start to be processed.

Testing

Testing has to be done semi-automatically for now, as GitLab CI does not allow for service-2-service communication yet (https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1041), by running:

cd components/server/job-xsweet && yarn test --testRegex test/standaloneXsweetTest.js

And in a separate window, building and starting the job-xsweet container like so:

docker build -t pubsweet/job-xsweet components/server/job-xsweet
docker run -e DATABASE_URL="postgres://yourUsername@host.docker.internal/test" pubsweet/job-xsweet

This will test both the GraphQL subscription and the classic long-running HTTP request path.

/@pubsweet/job-xsweet/

    Package Sidebar

    Install

    npm i @pubsweet/job-xsweet

    Weekly Downloads

    47

    Version

    2.2.4

    License

    MIT

    Unpacked Size

    27 kB

    Total Files

    11

    Last publish

    Collaborators

    • jure
    • shockandaudrey
    • diversemix
    • andrei.c9
    • yannisbarlas