Compare commits
17 Commits
feature/IO
...
feature/IO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5053816be7 | ||
|
|
85e82b85ea | ||
|
|
23467280b4 | ||
|
|
aedad1c48f | ||
|
|
05cc4dd188 | ||
|
|
ea6351ea06 | ||
|
|
87d3ceb408 | ||
|
|
d08dd2b506 | ||
|
|
8a047d14a1 | ||
|
|
e103772aa4 | ||
|
|
c332699dc8 | ||
|
|
25e6e61d10 | ||
|
|
cdcd6b636a | ||
|
|
7879591bcf | ||
|
|
7fc6556866 | ||
|
|
3f5489ce7e | ||
|
|
8347a8c098 |
@@ -7,7 +7,7 @@ _reference
|
||||
client
|
||||
redis/dockerdata
|
||||
hasura
|
||||
|
||||
node_modules
|
||||
# Files to exclude
|
||||
.ebignore
|
||||
.editorconfig
|
||||
|
||||
@@ -29,13 +29,13 @@ WORKDIR /app
|
||||
RUN git config --global --add safe.directory /app
|
||||
|
||||
# Copy package.json and package-lock.json
|
||||
COPY package*.json ./
|
||||
COPY package.json ./
|
||||
|
||||
# Install Nodemon
|
||||
RUN npm install -g nodemon
|
||||
|
||||
# Install dependencies
|
||||
RUN npm ci
|
||||
RUN npm i --no-package-lock
|
||||
|
||||
# Copy the rest of your application code
|
||||
COPY . .
|
||||
|
||||
@@ -219,7 +219,7 @@ export function JobsExportAllButton({
|
||||
};
|
||||
|
||||
return (
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled || jobIds?.length > 10}>
|
||||
{t("jobs.actions.exportselected")}
|
||||
</Button>
|
||||
);
|
||||
|
||||
@@ -200,7 +200,7 @@ export function PayableExportAll({
|
||||
);
|
||||
|
||||
return (
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled || billids?.length > 10}>
|
||||
{t("jobs.actions.exportselected")}
|
||||
</Button>
|
||||
);
|
||||
|
||||
@@ -180,7 +180,7 @@ export function PaymentsExportAllButton({
|
||||
};
|
||||
|
||||
return (
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
|
||||
<Button onClick={handleQbxml} loading={loading} disabled={disabled || paymentIds?.length > 10}>
|
||||
{t("jobs.actions.exportselected")}
|
||||
</Button>
|
||||
);
|
||||
|
||||
@@ -2,5 +2,5 @@ import { store } from "../redux/store";
|
||||
|
||||
export function CreateExplorerLinkForJob({ jobid }) {
|
||||
const bodyshop = store.getState().user.bodyshop;
|
||||
return `imexmedia://${bodyshop.localmediaservernetwork}\\Jobs\\${jobid}`;
|
||||
return `imexmedia://`.concat(encodeURIComponent(`${bodyshop.localmediaservernetwork}\\Jobs\\${jobid}`));
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ services:
|
||||
context: ./redis
|
||||
container_name: redis-node-1
|
||||
hostname: redis-node-1
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- redis-cluster-net
|
||||
volumes:
|
||||
@@ -32,7 +32,7 @@ services:
|
||||
context: ./redis
|
||||
container_name: redis-node-2
|
||||
hostname: redis-node-2
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- redis-cluster-net
|
||||
volumes:
|
||||
@@ -50,7 +50,7 @@ services:
|
||||
context: ./redis
|
||||
container_name: redis-node-3
|
||||
hostname: redis-node-3
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- redis-cluster-net
|
||||
volumes:
|
||||
@@ -70,7 +70,7 @@ services:
|
||||
hostname: localstack
|
||||
networks:
|
||||
- redis-cluster-net
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
@@ -152,7 +152,7 @@ services:
|
||||
# image: redislabs/redisinsight:latest
|
||||
# container_name: redis-insight
|
||||
# hostname: redis-insight
|
||||
# restart: always
|
||||
# restart: unless-stopped
|
||||
# ports:
|
||||
# - "3334:5540"
|
||||
# networks:
|
||||
|
||||
@@ -25,26 +25,32 @@ const tasksEmailQueueCleanup = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
if (process.env.NODE_ENV !== "development") {
|
||||
// Handling SIGINT (e.g., Ctrl+C)
|
||||
process.on("SIGINT", async () => {
|
||||
await tasksEmailQueueCleanup();
|
||||
});
|
||||
// Handling SIGTERM (e.g., sent by system shutdown)
|
||||
process.on("SIGTERM", async () => {
|
||||
await tasksEmailQueueCleanup();
|
||||
});
|
||||
// Handling uncaught exceptions
|
||||
process.on("uncaughtException", async (err) => {
|
||||
await tasksEmailQueueCleanup();
|
||||
throw err;
|
||||
});
|
||||
// Handling unhandled promise rejections
|
||||
process.on("unhandledRejection", async (reason, promise) => {
|
||||
await tasksEmailQueueCleanup();
|
||||
throw reason;
|
||||
});
|
||||
}
|
||||
// if (process.env.NODE_ENV !== "development") {
|
||||
// // Handling SIGINT (e.g., Ctrl+C)
|
||||
// process.on("SIGINT", async () => {
|
||||
// console.log("Handling SIGNIT For Tasks Cleanup");
|
||||
// await tasksEmailQueueCleanup();
|
||||
// process.exit(0);
|
||||
// });
|
||||
// // Handling SIGTERM (e.g., sent by system shutdown)
|
||||
// process.on("SIGTERM", async () => {
|
||||
// console.log("Handling SIGTERM For Tasks Cleanup");
|
||||
// await tasksEmailQueueCleanup();
|
||||
// process.exit(0);
|
||||
// });
|
||||
// // Handling uncaught exceptions
|
||||
// process.on("uncaughtException", async (err) => {
|
||||
// console.log("Handling uncaughtException For Tasks Cleanup");
|
||||
// await tasksEmailQueueCleanup();
|
||||
// process.exit(1);
|
||||
// });
|
||||
// // Handling unhandled promise rejections
|
||||
// process.on("unhandledRejection", async (reason, promise) => {
|
||||
// console.log("Handling unhandledRejection For Tasks Cleanup");
|
||||
// await tasksEmailQueueCleanup();
|
||||
// process.exit(1);
|
||||
// });
|
||||
// }
|
||||
|
||||
/**
|
||||
* Format the date for the email.
|
||||
|
||||
@@ -13,7 +13,7 @@ const taskEmailQueue = () =>
|
||||
console.log("Processing reminds for taskIds: ", taskIds.join(", "));
|
||||
|
||||
// Set the remind_at_sent to the current time.
|
||||
const now = moment.utc().toISOString();
|
||||
const now = moment().toISOString();
|
||||
|
||||
client
|
||||
.request(UPDATE_TASKS_REMIND_AT_SENT, { taskIds, now })
|
||||
|
||||
Reference in New Issue
Block a user