Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 3.0.14 #1962

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:
- windows-latest
- macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v2
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@

## [Unreleased][unreleased]

## [3.0.14][] - 2024-02-12

- Fixed API endpoints local queue settings applying
- Worker task execution global timeout implementation
- Reimplement global timeouts.request usage during a Procedure invocation
- Fix worker exit error: catch and restart (e.g. memoy leaks)
- Refactor procedure timeout
- Rewrite `invoke` without ports, including timeouts and thread pool
- Fix timers namespace: due to changes in `node:timers/promises`

## [3.0.13][] - 2023-10-22

Expand Down Expand Up @@ -362,7 +368,8 @@ First generation of application server with following features
- Connection drivers for database engines: MongoDB, PgSQL, Oracle, MySQL
- Support GeoIP, health monitoring, task scheduling, server-side templating

[unreleased]: https://github.com/metarhia/impress/compare/v3.0.13...HEAD
[unreleased]: https://github.com/metarhia/impress/compare/v3.0.14...HEAD
[3.0.14]: https://github.com/metarhia/impress/compare/v3.0.13...v3.0.14
[3.0.13]: https://github.com/metarhia/impress/compare/v3.0.12...v3.0.13
[3.0.12]: https://github.com/metarhia/impress/compare/v3.0.11...v3.0.12
[3.0.11]: https://github.com/metarhia/impress/compare/v3.0.10...v3.0.11
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2012-2023 Metarhia contributors
Copyright (c) 2012-2024 Metarhia contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Those features will be implemented in nearest future (3-6 months):

## License & Contributors

Copyright (c) 2012-2023 Metarhia contributors.
Copyright (c) 2012-2024 Metarhia contributors.
See github for full [contributors list](https://github.com/metarhia/impress/graphs/contributors).
Impress Application Server is [MIT licensed](./LICENSE).
Project coordinator: <[email protected]>
2 changes: 1 addition & 1 deletion lib/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class Application extends EventEmitter {
sandbox.api.auth.provider = provider;
}
const { concurrency, size, timeout } = config.server.queue;
this.semaphore = new Semaphore(concurrency, size, timeout);
this.semaphore = new Semaphore({ concurrency, size, timeout });
this.initialization = false;
sandbox.application.emit('started');
if (mode === 'test' && threadId === 1) this.runTests();
Expand Down
3 changes: 2 additions & 1 deletion lib/planner.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';

const { node, metarhia, wt } = require('./deps.js');
const { Semaphore } = metarhia.metautil;

class Planner {
constructor(path, config, { applications, console }) {
Expand Down Expand Up @@ -141,7 +142,7 @@ class Planner {
let semaphore = this.topics.get(name);
if (!semaphore) {
const { concurrency, size, timeout } = this.config;
semaphore = new metarhia.metautil.Semaphore(concurrency, size, timeout);
semaphore = new Semaphore({ concurrency, size, timeout });
this.topics.set(name, semaphore);
}
return semaphore.enter();
Expand Down
2 changes: 1 addition & 1 deletion lib/procedure.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Procedure {
if (exp.queue) {
const { concurrency, size, timeout } = exp.queue;
const { Semaphore } = metarhia.metautil;
this.semaphore = new Semaphore(concurrency, size, timeout);
this.semaphore = new Semaphore({ concurrency, size, timeout });
}
this.caption = exp.caption || '';
this.description = exp.description || '';
Expand Down
Loading
Loading