parent
15b503f7b1
commit
ea6dcff5f4
@ -1,15 +0,0 @@
|
||||
import crypto from 'crypto'
|
||||
import fs from 'fs'
|
||||
|
||||
export const getFileMeta = (path) => fs.stat(path)
|
||||
|
||||
export const getFileSha = (path) => new Promise((resolve) => {
|
||||
const shaSum = crypto.createHash('sha256')
|
||||
const readStream = fs.ReadStream(path)
|
||||
|
||||
readStream.on('data', (data) => shaSum.update(data))
|
||||
readStream.on('end', () => {
|
||||
const result = shaSum.digest('hex')
|
||||
resolve(result)
|
||||
})
|
||||
})
|
||||
@ -0,0 +1,38 @@
|
||||
import amqp from 'amqplib'
|
||||
import config from '../config'
|
||||
|
||||
const AMBAR_PIPELINE_EXCHANGE = "AMBAR_PIPELINE_EXCHANGE"
|
||||
|
||||
let channel = null
|
||||
|
||||
const getPipelineMessagePriority = (fileName) => {
|
||||
const regex = /(\.jp[e]*g$)|(\.png$)|(\.bmp$)|(\.tif[f]*$)|(\.pdf$)/i
|
||||
const priority = regex.test(fileName) ? 1 : 2
|
||||
|
||||
return priority
|
||||
}
|
||||
|
||||
export const enqueueMessage = (message) => {
|
||||
const fileName = message.fileName || message.meta.short_name
|
||||
const priority = getPipelineMessagePriority(fileName)
|
||||
channel.publish(AMBAR_PIPELINE_EXCHANGE, '', Buffer.from(JSON.stringify(message)), { priority: priority })
|
||||
}
|
||||
|
||||
export const initRabbit = () => new Promise((resolve, reject) => {
|
||||
amqp.connect(`${config.rabbitHost}?heartbeat=0`)
|
||||
.then((conn) => {
|
||||
conn.on('error', (err) => {
|
||||
//eslint-disable-next-line no-console
|
||||
console.error('Rabbit error!')
|
||||
throw err
|
||||
})
|
||||
|
||||
return conn.createChannel()
|
||||
.then(ch => {
|
||||
channel = ch
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
.catch(err => reject(err))
|
||||
})
|
||||
|
||||
@ -0,0 +1,117 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Python: Current File",
|
||||
"pythonPath": "${config:python.pythonPath}",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${file}"
|
||||
},
|
||||
{
|
||||
"name": "Python: Attach",
|
||||
"type": "python",
|
||||
"request": "attach",
|
||||
"localRoot": "${workspaceFolder}",
|
||||
"remoteRoot": "${workspaceFolder}",
|
||||
"port": 3000,
|
||||
"secret": "my_secret",
|
||||
"host": "localhost"
|
||||
},
|
||||
{
|
||||
"name": "Python: Terminal (integrated)",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal"
|
||||
},
|
||||
{
|
||||
"name": "Python: Terminal (external)",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "externalTerminal"
|
||||
},
|
||||
{
|
||||
"name": "Python: Django",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/manage.py",
|
||||
"args": [
|
||||
"runserver",
|
||||
"--noreload",
|
||||
"--nothreading"
|
||||
],
|
||||
"debugOptions": [
|
||||
"RedirectOutput",
|
||||
"Django"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Python: Flask (0.11.x or later)",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"module": "flask",
|
||||
"env": {
|
||||
"FLASK_APP": "${workspaceFolder}/app.py"
|
||||
},
|
||||
"args": [
|
||||
"run",
|
||||
"--no-debugger",
|
||||
"--no-reload"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Python: Module",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"module": "module.name"
|
||||
},
|
||||
{
|
||||
"name": "Python: Pyramid",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"${workspaceFolder}/development.ini"
|
||||
],
|
||||
"debugOptions": [
|
||||
"RedirectOutput",
|
||||
"Pyramid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Python: Watson",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/console.py",
|
||||
"args": [
|
||||
"dev",
|
||||
"runserver",
|
||||
"--noreload=True"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Python: All debug Options",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"pythonPath": "${config:python.pythonPath}",
|
||||
"program": "${file}",
|
||||
"module": "module.name",
|
||||
"env": {
|
||||
"VAR1": "1",
|
||||
"VAR2": "2"
|
||||
},
|
||||
"envFile": "${workspaceFolder}/.env",
|
||||
"args": [
|
||||
"arg1",
|
||||
"arg2"
|
||||
],
|
||||
"debugOptions": [
|
||||
"RedirectOutput"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue