@odirleiborgert yeah, I know that is kindof a work around but I find most reports render better with ChromePDF, although there are some instances where PhantomPDF does a better job due to rendering glitches in ChromePDF
Posts made by stevef51
-
RE: Protocol error (Page.printToPDF): Target closed.
-
RE: disappeared reports on docker at azure
@odirleiborgert you need to setup some sort of storage persistence for your reports, otherwise when the Docker container restarts (which Azure will occasionally do) you will lose you reports since by default it will be using filesystem provider which is the containers local filesystem which disappears along with the container on restart. We found this same issue (actually its not an issue, just needs correct config) we trialled using Azure Blob Storage which had reliability issues, also tried using the App Services persistent disks which also had stability issues, we found the most reliable (has not faulted in 6 months) was a MongoDb provider, we are using MongoDb Atlas account for $9/month and it works flawlessly
-
RE: Protocol error (Page.printToPDF): Target closed.
@jan_blaha
Ok, its something to do with 2.5.0 and Azure Webapp - I just updated the Azure Webapp to use my hacked "2.5.0 with Chromium 64" image which is the Docker file from 2.4.0 which NPM fetches latest JsReport - and this works fine, this image however does not include the MongoDb extension (+ a bunch of other extensions) since it logs only 31 extensions found at startup whilst the "-full" images find 49 extensions -
RE: Protocol error (Page.printToPDF): Target closed.
@jan_blaha
This is weird, so I changed our Azure Webapp to use "jsreport/jsreport:2.5.0-full" as you suggested and removed all custom configuration (so removed MongoDb storage etc) - it still errors with that basic 2000 record report. However running the same Docker image locally with no custom configuration (so should be exactly same as the Azure Webapp) and it runs just fine, tested up to 511 pages without an issue.Jan, Are you able to test on an Azure Webapp ?
-
RE: Calculation In Report
@Kshitiz-Mittal
You can assign any valid JSON to request.data, so you can transform your query result and add new properties, alot of our reports are run by querying multiple datasets and then using JS to join and transform the data as needed, we primarily use HTTP OData requests to retrieve data but some reports are direct SQL using the 'mssql' NPM libraryHope that helps
-
JsReport version in title bar
Is there an easy way to change the version reported in the title bar?
We essentially have 2 versions :-
- The JsReport version (currently 2.4.0)
- Our custom Node modules (currently 1.9.3)
It would be neat to have the title bar read "JsReport 2.4.0-1.9.3"
-
RE: Protocol error (Page.printToPDF): Target closed.
@jan_blaha
Thanks for your quick responses :)So we use JsReport a little differently to normal case I think, our Request Data (or sample Data) contains URLS of where to get the actual data from, the reports JS file will fetch the data and populate the Request.data context for the template to iterate over.
However this does not seem to be the problem as I was able to reproduce the error within our Docker test environment with just a Template and a large sample Data file (2000 records) side stepping the JS file altogether, reducing the sample Data to 1000 records and it runs fine - I have not found the breaking point
But when I copied these 2 files to the JsReport Playground I was unable to make it error, it produced an 86 page document (which is not huge I would think)
I have checked the Azure Webapp to make sure its not barfing on memory and its not, the VM is not huge but the memory graph shows its sits well under 10% usage always.
The following Dropbox link has the Template and Sample Data, although I doubt its of much use since the Playground renders it fine
https://www.dropbox.com/s/w7f59houwk2ao24/JsReport PDF Protocol Error.zip?dl=1
Below is our straight forward Docker file, from 2.5.0 it installs a config override + a few extra NPM modules and our helper Node module - the Puppeteer downgrade to 1.11.0 also shown
FROM jsreport/jsreport:2.5.0-full AS prod
COPY jsreport.config.json /jsreport/jsreport.config.json
WORKDIR /app
RUN npm i
request
request-promise
url
tough-cookie
@sendgrid/mail
webpack
round-to
puppeteer@1.11.0COPY node_modules/virtualmgr /app/node_modules/virtualmgr
and the jsreport.config.json which essentially overrides some timeouts (this is not a timeout issue though)
{
"httpPort": 5488,
"allowLocalFilesAccess": true,
"store": {
"provider": "fs"
},
"blobStorage": {
"provider": "fs"
},
"templatingEngines": {
"timeout": 600000
},
"chrome": {
"timeout": 600000
},
"extensions": {
"scripts": {
"timeout": 600000
},
"html-to-xlsx": {
"timeout": 600000
}
}
}I also tried using the Dockerfile from 2.4.0 as my "FROM" which built ok (and should have used Chromium 64 with latest NPM JsReport) but when I run it it errors with
2019-08-19T14:51:52.991144204Z 2019-08-19T14:51:52.915Z - info: Initializing jsreport@2.5.0 in production mode using configuration file: jsreport.config.json
2019-08-19T14:51:52.991177604Z 2019-08-19T14:51:52.924Z - info: Searching for available extensions in /app/
2019-08-19T14:51:52.991183504Z 2019-08-19T14:51:52.977Z - info: Extensions location cache not found, crawling directories
2019-08-19T14:51:57.726926059Z 2019-08-19T14:51:57.495Z - info: Found 31 extensions
2019-08-19T14:51:57.731570662Z 2019-08-19T14:51:57.686Z - error: Error occured during reporter init Error: options contain values that does not match the defined full root schema. schema validation errors: rootOptions.store.provider should be equal to one of the allowed values. allowed values: ["memory", "fs"]
2019-08-19T14:51:57.731588562Z at Reporter.init (/app/node_modules/jsreport-core/lib/reporter.js:141:15)
2019-08-19T14:51:57.731594162Z Error: options contain values that does not match the defined full root schema. schema validation errors: rootOptions.store.provider should be equal to one of the allowed values. allowed values: ["memory", "fs"]
2019-08-19T14:51:57.731599162Z at Reporter.init (/app/node_modules/jsreport-core/lib/reporter.js:141:15)this appears to be something to do with my Azure environment variable of
"name": "store_provider", "value": "mongodb",
which should be fine as this hasn't changed and surely mongodb is still supported ?
-
RE: Protocol error (Page.printToPDF): Target closed.
@jan_blaha Hmm, I dont see that Chrome version, I see
+21803 Executing recipe chrome-pdf
+22078 Converting with chrome HeadlessChrome/73.0.3683.103 using dedicated-process strategy
+24096 Running chrome with params {"printBackground":true,"margin":{}}
Error: Protocol error (Page.printToPDF): Target closed.
at Promise (/app/node_modules/puppeteer/lib/Connection.js:186:56)
at new Promise (<anonymous>)
at CDPSession.send (/app/node_modules/puppeteer/lib/Connection.js:185:12)
at Page.pdf (/app/node_modules/puppeteer/lib/Page.js:911:39)
at Page.<anonymous> (/app/node_modules/puppeteer/lib/helper.js:145:23)
at runWithTimeout (/app/node_modules/jsreport-chrome-pdf/lib/conversion.js:164:27)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:229:7)However if bash into my Docker image locally and do a
cat node_modules/puppeteer/package.json
it shows
"version": "1.11.0"
There must be more to downgrading Chrome than puppeteer - forgive me I know very little about how Chrome works with puppeteer or even what puppeteer is (perhaps I should Google that :) )
Cheers
-
RE: Protocol error (Page.printToPDF): Target closed.
@jan_blaha I upgraded to 2.5.0 yesterday and very quickly discovered this issue, I just tried downgrading Puppeteer to 1.11.0 as you suggested but it makes no difference - I will have to backdate to 2.4.0 for the time being, pitty as the new editor is much better
-
JsReport /api/ping requires authentication - should it?
We need a simple endpoint that we can Ping on for health monitoring of our JsReport instance (running in Docker) - I can see there is a
/api/ping
GET method, however we also use Authentication and this means /api/ping is currently protected aswell which prevents Nodeping from monitoring as it does not have ability to specify authentication - any chance you could either add a new unprotected Ping endpoint or make the existing one unprotected.
-
Settings entity is written to unnecessarily
Hi Jan,
Firstly I want to say thank you for your extremely quick and helpful responses and a marvellous product.
Using Azure Blob storage (although may switch to Mongo) - wondering if there is a way to disable JsReport from continously updating the Settings entity as it is introducing highly unnecessary Azure blob data charges. Typically once report templates have stabilised I would expect all entities to never to be written to - however I see the Settings entity is updated every 5 seconds (watching the Azure blob details) ..
5 seconds later the Modified time changes along with the ETAG but the MD5 hash does not ..
There are no reports running at this time.
I came across this since I noticed the Azure blob account had an extremely high Objectcount of over 700,000 objects and climbing, given I can see only ~400 objects across the 5 containers in that account I started investigating and found this as the only possible explanation (so far).
Does the Settings file even need to be persisted in the same way as the other entities ? It looks to me it contains mostly logs and errors of recently run reports - surely this can be stored locally?
Cheers
Steve
-
RE: JsReport docker image instability & storage corruptions
Hi Jan, thanks for the quick reply :)
There is only 1 JsReport instance talking to 1 blob container, Prod & Dev are completely seperate (seperate JsReport instance, seperate blob container).
I have emailed you the export also.
I had to blow away the Azure blob container as Dev JsReport instance simply would not start and run stably, once I deleted and recreated the blob container Dev JsReport instance fired up and worked normally, I then imported the export.zip file I have sent you - incidentally, the import I have also seen timeout when using the Blob container persistence even though when I close the timeout error and refresh all the files are there without error.
Hopefully you can replicate this somehow as most of the time it is rock solid and works nicely, trouble with this sort of issue is if it happens to the Prod instance it will take out real customer reports - I did take a look at using MongoDb (via Azure's CosmosDb which is 100% Mongo protocol compliant) but decided not go further with it since I read somewhere there were issues with it losing TCP connection and not retrying and also was not entirely sure on how M$ charge for CosmosDb storage etc, didn't want an unexpectedly large bill from them - perhaps I should look further into this.
Cheers
Steve -
JsReport docker image instability & storage corruptions
I have posted recently about Azure Storage corruptions with 2.3.0 and have since updated to JsReport 2.4.0 which at the time seemed alot more stable, however my JsReport Dev instance which I just browsed to (after several days of inactivity on it) barfed with the logs below - note, I was not trying to render a report, just browsing to the Studio URL.
019-04-23T04:59:58.046435476Z Unhandled rejection Error: connect ECONNREFUSED 52.239.177.36:443
2019-04-23T04:59:58.046513377Z at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)2019-04-23T06:33:00.680560619Z Trying to remove the lock on display 99
2019-04-23T06:33:00.686666144Z Running display 99
2019-04-23T06:33:00.690226059Z Starting node.js
2019-04-23T06:33:02.992331274Z 2019-04-23T06:33:02.990Z - [32minfo[39m: Initializing jsreport@2.4.0 in production mode using configuration file: jsreport.config.json
2019-04-23T06:33:02.997670897Z 2019-04-23T06:33:02.997Z - [32minfo[39m: Searching for available extensions in /app/
2019-04-23T06:33:03.025898616Z 2019-04-23T06:33:03.025Z - [32minfo[39m: Extensions location cache not found, crawling directories
2019-04-23T06:33:07.136185961Z 2019-04-23T06:33:07.135Z - [32minfo[39m: Found 49 extensions
2019-04-23T06:33:07.492821166Z 2019-04-23T06:33:07.492Z - [32minfo[39m: Using extension authentication
2019-04-23T06:33:07.550883511Z 2019-04-23T06:33:07.550Z - [32minfo[39m: Using extension templates
2019-04-23T06:33:07.556965836Z 2019-04-23T06:33:07.556Z - [32minfo[39m: Using extension azure-storage
2019-04-23T06:33:07.909745025Z 2019-04-23T06:33:07.906Z - [32minfo[39m: Using extension tags
2019-04-23T06:33:07.919662067Z 2019-04-23T06:33:07.919Z - [32minfo[39m: Using extension pug
2019-04-23T06:33:07.928312803Z 2019-04-23T06:33:07.928Z - [32minfo[39m: Using extension postgres-store
2019-04-23T06:33:08.160821384Z 2019-04-23T06:33:08.160Z - [32minfo[39m: Using extension mssql-store
2019-04-23T06:33:08.402228803Z 2019-04-23T06:33:08.402Z - [32minfo[39m: Using extension cli
2019-04-23T06:33:08.406714622Z 2019-04-23T06:33:08.406Z - [32minfo[39m: Using extension mongodb-store
2019-04-23T06:33:08.583654269Z 2019-04-23T06:33:08.583Z - [32minfo[39m: Using extension debug
2019-04-23T06:33:08.594471914Z 2019-04-23T06:33:08.594Z - [32minfo[39m: Using extension ejs
2019-04-23T06:33:08.599585236Z 2019-04-23T06:33:08.599Z - [32minfo[39m: Using extension jsrender
2019-04-23T06:33:08.603623753Z 2019-04-23T06:33:08.603Z - [32minfo[39m: Using extension express
2019-04-23T06:33:08.974465118Z 2019-04-23T06:33:08.967Z - [32minfo[39m: Using extension fop-pdf
2019-04-23T06:33:08.986177567Z 2019-04-23T06:33:08.986Z - [32minfo[39m: Using extension freeze
2019-04-23T06:33:08.993208497Z 2019-04-23T06:33:08.993Z - [32minfo[39m: Using extension import-export
2019-04-23T06:33:09.239866538Z 2019-04-23T06:33:09.238Z - [32minfo[39m: Using extension handlebars
2019-04-23T06:33:09.247562770Z 2019-04-23T06:33:09.247Z - [32minfo[39m: Using extension phantom-image
2019-04-23T06:33:09.298871087Z 2019-04-23T06:33:09.298Z - [32minfo[39m: Using extension html-embedded-in-docx
2019-04-23T06:33:09.556626974Z 2019-04-23T06:33:09.556Z - [32minfo[39m: Using extension authorization
2019-04-23T06:33:09.563480503Z 2019-04-23T06:33:09.563Z - [32minfo[39m: Using extension fs-store
2019-04-23T06:33:09.866342281Z 2019-04-23T06:33:09.866Z - [32minfo[39m: fs store underlying changes synchronization with studio is disabled
2019-04-23T06:33:09.870549099Z 2019-04-23T06:33:09.870Z - [32minfo[39m: Using extension electron-pdf
2019-04-23T06:33:09.979538559Z 2019-04-23T06:33:09.979Z - [32minfo[39m: Using extension licensing
2019-04-23T06:33:09.985620184Z 2019-04-23T06:33:09.985Z - [32minfo[39m: Using extension data
2019-04-23T06:33:09.989707202Z 2019-04-23T06:33:09.989Z - [32minfo[39m: Using extension chrome-pdf
2019-04-23T06:33:10.071874848Z 2019-04-23T06:33:10.071Z - [32minfo[39m: Using extension pdf-password
2019-04-23T06:33:10.281035831Z 2019-04-23T06:33:10.280Z - [32minfo[39m: Using extension pdf-utils
2019-04-23T06:33:10.288768964Z 2019-04-23T06:33:10.288Z - [32minfo[39m: Using extension html-to-text
2019-04-23T06:33:10.421328923Z 2019-04-23T06:33:10.421Z - [32minfo[39m: Using extension phantom-pdf
2019-04-23T06:33:10.432912072Z 2019-04-23T06:33:10.432Z - [32minfo[39m: Using extension child-templates
2019-04-23T06:33:10.439046598Z 2019-04-23T06:33:10.438Z - [32minfo[39m: Using extension wkhtmltopdf
2019-04-23T06:33:10.461115891Z 2019-04-23T06:33:10.460Z - [32minfo[39m: Using extension browser-client
2019-04-23T06:33:10.465815011Z 2019-04-23T06:33:10.465Z - [32minfo[39m: Using extension reports
2019-04-23T06:33:10.472955841Z 2019-04-23T06:33:10.472Z - [32minfo[39m: Using extension version-control
2019-04-23T06:33:10.554475085Z 2019-04-23T06:33:10.554Z - [32minfo[39m: Using extension text
2019-04-23T06:33:10.559088404Z 2019-04-23T06:33:10.558Z - [32minfo[39m: Using extension studio
2019-04-23T06:33:10.578601687Z 2019-04-23T06:33:10.578Z - [32minfo[39m: Using extension base
2019-04-23T06:33:10.582837805Z 2019-04-23T06:33:10.582Z - [32minfo[39m: Using extension html-to-xlsx
2019-04-23T06:33:10.788090671Z 2019-04-23T06:33:10.787Z - [32minfo[39m: html-to-xlsx detected chrome as available html engine
2019-04-23T06:33:10.791952587Z 2019-04-23T06:33:10.791Z - [32minfo[39m: html-to-xlsx detected phantom as available html engine
2019-04-23T06:33:10.796309205Z 2019-04-23T06:33:10.794Z - [32minfo[39m: Using extension fs-store-aws-sns-sync
2019-04-23T06:33:10.952863966Z 2019-04-23T06:33:10.952Z - [32minfo[39m: Using extension fs-store-azure-sb-sync
2019-04-23T06:33:11.052487886Z 2019-04-23T06:33:11.052Z - [32minfo[39m: Using extension scheduling
2019-04-23T06:33:11.121273077Z 2019-04-23T06:33:11.121Z - [32minfo[39m: Using extension scripts
2019-04-23T06:33:11.156401325Z 2019-04-23T06:33:11.136Z - [32minfo[39m: Using extension fs-store-azure-storage-persistence
2019-04-23T06:33:11.487792523Z 2019-04-23T06:33:11.487Z - [32minfo[39m: Using extension assets
2019-04-23T06:33:11.516395044Z 2019-04-23T06:33:11.516Z - [32minfo[39m: Using extension fs-store-aws-s3-persistence
2019-04-23T06:33:11.643993582Z 2019-04-23T06:33:11.643Z - [32minfo[39m: Using extension xlsx
2019-04-23T06:33:11.766175998Z 2019-04-23T06:33:11.765Z - [32minfo[39m: Using extension sample-template
2019-04-23T06:33:11.771156419Z 2019-04-23T06:33:11.771Z - [32minfo[39m: Using extension resources
2019-04-23T06:33:11.774952635Z 2019-04-23T06:33:11.774Z - [32minfo[39m: Using extension public-templates
2019-04-23T06:33:11.784045873Z 2019-04-23T06:33:11.783Z - [32minfo[39m: fs store is persisting using azure-storage
2019-04-23T06:33:11.821380231Z 2019-04-23T06:33:11.821Z - [32minfo[39m: fs store is using no synchronization
2019-04-23T06:33:11.915221227Z 2019-04-23T06:33:11.915Z - [32minfo[39m: fs store is loading data
2019-04-23T06:34:03.382252955Z 2019-04-23T06:34:03.381Z - [31merror[39m: Error occured during reporter init StorageError: There is already a lease present.
2019-04-23T06:34:03.382320856Z RequestId:25aac0c3-401e-007c-099e-f90f2e000000
2019-04-23T06:34:03.382326356Z Time:2019-04-23T06:34:02.3877165Z
2019-04-23T06:34:03.382346656Z at Function.StorageServiceClient._normalizeError (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1189:23)
2019-04-23T06:34:03.382350456Z at BlobService.StorageServiceClient._processResponse (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:736:50)
2019-04-23T06:34:03.382354256Z at Request.processResponseCallback [as _callback] (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:311:37)
2019-04-23T06:34:03.382357856Z at Request.self.callback (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:188:22)
2019-04-23T06:34:03.382361556Z at emitTwo (events.js:126:13)
2019-04-23T06:34:03.382364856Z at Request.emit (events.js:214:7)
2019-04-23T06:34:03.382368156Z at Request.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1171:10)
2019-04-23T06:34:03.382371756Z at emitOne (events.js:116:13)
2019-04-23T06:34:03.382375156Z at Request.emit (events.js:211:7)
2019-04-23T06:34:03.382378356Z at IncomingMessage.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1091:12)
2019-04-23T06:34:03.382381856Z at Object.onceWrapper (events.js:313:30)
2019-04-23T06:34:03.382385156Z at emitNone (events.js:111:20)
2019-04-23T06:34:03.382388456Z at IncomingMessage.emit (events.js:208:7)
2019-04-23T06:34:03.382391756Z at endReadableNT (_stream_readable.js:1064:12)
2019-04-23T06:34:03.382395056Z at _combinedTickCallback (internal/process/next_tick.js:139:11)
2019-04-23T06:34:03.382406556Z at process._tickDomainCallback (internal/process/next_tick.js:219:9)
2019-04-23T06:34:03.388199081Z StorageError: There is already a lease present.
2019-04-23T06:34:03.388212481Z RequestId:25aac0c3-401e-007c-099e-f90f2e000000
2019-04-23T06:34:03.388216881Z Time:2019-04-23T06:34:02.3877165Z
2019-04-23T06:34:03.388220281Z at Function.StorageServiceClient._normalizeError (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1189:23)
2019-04-23T06:34:03.388239281Z at BlobService.StorageServiceClient._processResponse (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:736:50)
2019-04-23T06:34:03.388242781Z at Request.processResponseCallback [as _callback] (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/azure-storage/lib/common/services/storageserviceclient.js:311:37)
2019-04-23T06:34:03.388246281Z at Request.self.callback (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:188:22)
2019-04-23T06:34:03.388305281Z at emitTwo (events.js:126:13)
2019-04-23T06:34:03.388308581Z at Request.emit (events.js:214:7)
2019-04-23T06:34:03.388328981Z at Request.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1171:10)
2019-04-23T06:34:03.388332681Z at emitOne (events.js:116:13)
2019-04-23T06:34:03.388341181Z at Request.emit (events.js:211:7)
2019-04-23T06:34:03.388344881Z at IncomingMessage.<anonymous> (/app/node_modules/jsreport-fs-store-azure-storage-persistence/node_modules/request/request.js:1091:12)
2019-04-23T06:34:03.388348381Z at Object.onceWrapper (events.js:313:30)
2019-04-23T06:34:03.388351581Z at emitNone (events.js:111:20)
2019-04-23T06:34:03.388354681Z at IncomingMessage.emit (events.js:208:7)
2019-04-23T06:34:03.388357881Z at endReadableNT (_stream_readable.js:1064:12)
2019-04-23T06:34:03.388361081Z at _combinedTickCallback (internal/process/next_tick.js:139:11)
2019-04-23T06:34:03.388364381Z at process._tickDomainCallback (internal/process/next_tick.js:219:9)2019-04-23T06:36:24.445882238Z Trying to remove the lock on display 99
2019-04-23T06:36:24.445917438Z Running display 99
2019-04-23T06:36:24.445922038Z Starting node.js
2019-04-23T06:36:25.142300672Z 2019-04-23T06:36:25.140Z - [32minfo[39m: Initializing jsreport@2.4.0 in production mode using configuration file: jsreport.config.json
2019-04-23T06:36:25.169098285Z 2019-04-23T06:36:25.150Z - [32minfo[39m: Searching for available extensions in /app/
2019-04-23T06:36:25.197831706Z 2019-04-23T06:36:25.197Z - [32minfo[39m: Extensions location cache not found, crawling directories
2019-04-23T06:36:27.577160531Z 2019-04-23T06:36:27.576Z - [32minfo[39m: Found 49 extensions
2019-04-23T06:36:27.940067460Z 2019-04-23T06:36:27.939Z - [32minfo[39m: Using extension authentication
2019-04-23T06:36:27.980153429Z 2019-04-23T06:36:27.980Z - [32minfo[39m: Using extension templates
2019-04-23T06:36:27.985762753Z 2019-04-23T06:36:27.985Z - [32minfo[39m: Using extension azure-storage
2019-04-23T06:36:28.234864603Z 2019-04-23T06:36:28.234Z - [32minfo[39m: Using extension tags
2019-04-23T06:36:28.247253655Z 2019-04-23T06:36:28.247Z - [32minfo[39m: Using extension pug
2019-04-23T06:36:28.255599190Z 2019-04-23T06:36:28.255Z - [32minfo[39m: Using extension postgres-store
2019-04-23T06:36:28.426062708Z 2019-04-23T06:36:28.425Z - [32minfo[39m: Using extension mssql-store
2019-04-23T06:36:28.585915082Z 2019-04-23T06:36:28.585Z - [32minfo[39m: Using extension cli
2019-04-23T06:36:28.589560697Z 2019-04-23T06:36:28.589Z - [32minfo[39m: Using extension mongodb-store
2019-04-23T06:36:28.733113602Z 2019-04-23T06:36:28.732Z - [32minfo[39m: Using extension debug
2019-04-23T06:36:28.756118099Z 2019-04-23T06:36:28.755Z - [32minfo[39m: Using extension ejs
2019-04-23T06:36:28.761978123Z 2019-04-23T06:36:28.761Z - [32minfo[39m: Using extension jsrender
2019-04-23T06:36:28.782900512Z 2019-04-23T06:36:28.773Z - [32minfo[39m: Using extension express
2019-04-23T06:36:29.000015626Z 2019-04-23T06:36:28.999Z - [32minfo[39m: Using extension fop-pdf
2019-04-23T06:36:29.009897268Z 2019-04-23T06:36:29.009Z - [32minfo[39m: Using extension freeze
2019-04-23T06:36:29.014446187Z 2019-04-23T06:36:29.014Z - [32minfo[39m: Using extension import-export
2019-04-23T06:36:29.185353307Z 2019-04-23T06:36:29.185Z - [32minfo[39m: Using extension handlebars
2019-04-23T06:36:29.190348928Z 2019-04-23T06:36:29.190Z - [32minfo[39m: Using extension phantom-image
2019-04-23T06:36:29.248569574Z 2019-04-23T06:36:29.248Z - [32minfo[39m: Using extension html-embedded-in-docx
2019-04-23T06:36:29.462579575Z 2019-04-23T06:36:29.462Z - [32minfo[39m: Using extension authorization
2019-04-23T06:36:29.470178407Z 2019-04-23T06:36:29.470Z - [32minfo[39m: Using extension fs-store
2019-04-23T06:36:29.685606715Z 2019-04-23T06:36:29.685Z - [32minfo[39m: fs store underlying changes synchronization with studio is disabled
2019-04-23T06:36:29.689074430Z 2019-04-23T06:36:29.688Z - [32minfo[39m: Using extension electron-pdf
2019-04-23T06:36:29.773343585Z 2019-04-23T06:36:29.773Z - [32minfo[39m: Using extension licensing
2019-04-23T06:36:29.778957008Z 2019-04-23T06:36:29.778Z - [32minfo[39m: Using extension data
2019-04-23T06:36:29.782477023Z 2019-04-23T06:36:29.782Z - [32minfo[39m: Using extension chrome-pdf
2019-04-23T06:36:29.862555661Z 2019-04-23T06:36:29.862Z - [32minfo[39m: Using extension pdf-password
2019-04-23T06:36:29.955089450Z 2019-04-23T06:36:29.954Z - [32minfo[39m: Using extension pdf-utils
2019-04-23T06:36:29.982696667Z 2019-04-23T06:36:29.963Z - [32minfo[39m: Using extension html-to-text
2019-04-23T06:36:30.024505143Z 2019-04-23T06:36:30.024Z - [32minfo[39m: Using extension phantom-pdf
2019-04-23T06:36:30.035438589Z 2019-04-23T06:36:30.035Z - [32minfo[39m: Using extension child-templates
2019-04-23T06:36:30.042135517Z 2019-04-23T06:36:30.041Z - [32minfo[39m: Using extension wkhtmltopdf
2019-04-23T06:36:30.058652087Z 2019-04-23T06:36:30.058Z - [32minfo[39m: Using extension browser-client
2019-04-23T06:36:30.064660512Z 2019-04-23T06:36:30.064Z - [32minfo[39m: Using extension reports
2019-04-23T06:36:30.071787942Z 2019-04-23T06:36:30.071Z - [32minfo[39m: Using extension version-control
2019-04-23T06:36:30.123450660Z 2019-04-23T06:36:30.123Z - [32minfo[39m: Using extension text
2019-04-23T06:36:30.126815674Z 2019-04-23T06:36:30.126Z - [32minfo[39m: Using extension studio
2019-04-23T06:36:30.144636849Z 2019-04-23T06:36:30.144Z - [32minfo[39m: Using extension base
2019-04-23T06:36:30.150337473Z 2019-04-23T06:36:30.150Z - [32minfo[39m: Using extension html-to-xlsx
2019-04-23T06:36:30.306553431Z 2019-04-23T06:36:30.306Z - [32minfo[39m: html-to-xlsx detected chrome as available html engine
2019-04-23T06:36:30.310043946Z 2019-04-23T06:36:30.309Z - [32minfo[39m: html-to-xlsx detected phantom as available html engine
2019-04-23T06:36:30.313522761Z 2019-04-23T06:36:30.312Z - [32minfo[39m: Using extension fs-store-aws-sns-sync
2019-04-23T06:36:30.469371417Z 2019-04-23T06:36:30.469Z - [32minfo[39m: Using extension fs-store-azure-sb-sync
2019-04-23T06:36:30.545970840Z 2019-04-23T06:36:30.545Z - [32minfo[39m: Using extension scheduling
2019-04-23T06:36:30.597092855Z 2019-04-23T06:36:30.596Z - [32minfo[39m: Using extension scripts
2019-04-23T06:36:30.603530982Z 2019-04-23T06:36:30.603Z - [32minfo[39m: Using extension fs-store-azure-storage-persistence
2019-04-23T06:36:30.841778786Z 2019-04-23T06:36:30.841Z - [32minfo[39m: Using extension assets
2019-04-23T06:36:30.852703232Z 2019-04-23T06:36:30.852Z - [32minfo[39m: Using extension fs-store-aws-s3-persistence
2019-04-23T06:36:30.923665131Z 2019-04-23T06:36:30.923Z - [32minfo[39m: Using extension xlsx
2019-04-23T06:36:31.026271864Z 2019-04-23T06:36:31.026Z - [32minfo[39m: Using extension sample-template
2019-04-23T06:36:31.031512786Z 2019-04-23T06:36:31.031Z - [32minfo[39m: Using extension resources
2019-04-23T06:36:31.035262801Z 2019-04-23T06:36:31.035Z - [32minfo[39m: Using extension public-templates
2019-04-23T06:36:31.044291940Z 2019-04-23T06:36:31.044Z - [32minfo[39m: fs store is persisting using azure-storage
2019-04-23T06:36:31.082526801Z 2019-04-23T06:36:31.082Z - [32minfo[39m: fs store is using no synchronization
2019-04-23T06:36:31.234710542Z 2019-04-23T06:36:31.234Z - [32minfo[39m: fs store is loading data
2019-04-23T06:36:44.727095486Z 2019-04-23T06:36:44.726Z - [32minfo[39m: fs store is initialized successfully
2019-04-23T06:37:07.566811898Z 2019-04-23T06:37:07.566Z - [32minfo[39m: Creating default express app.
2019-04-23T06:37:07.624628442Z 2019-04-23T06:37:07.624Z - [32minfo[39m: jsreport server successfully started on http port: 54882019-04-23T06:37:30.601581916Z 2019-04-23T06:37:30.601Z - [32minfo[39m: Verifying license key free
2019-04-23T06:37:31.099309712Z 2019-04-23T06:37:31.099Z - [32minfo[39m: Starting one month enterprise trial
2019-04-23T06:37:31.108964052Z 2019-04-23T06:37:31.108Z - [32minfo[39m: reporter initializedAlso note, the errors "Error occured during reporter init StorageError: There is already a lease present." which may be related to folder corruptions and deleted files - yes I have lost 2 files.
Browser Refreshing and JsReport hangs requesting OData templates and other files (odata/templates?$select=name,recipe,shortid,tags,folder&$orderby=name) and they all eventually fail with a 502 Server Error - seems the corruption has taken out the storage all together, lucky I have backups of this data although nervous that I have to use them again.
The JsReport instance did not auto recover in any fashion, so I stopped and restarted the Azure Webapp and hit browser refresh, the page took a little longer than normal but Studio eventually rendered with the corrupt folders and missing files, I hit browser Refresh again only for it to then come back with
I am entirely lost as to whether this is a JsReport issue or an Azure Blob storage issue, I have an Azure 10 minute scheduled process which hits both my JsReport Dev & Prod /api/export endpoints to perform automated backups and stores these files in Azure Blob storage aswell (different containers) - perhaps this is interfering somehow?
I welcome any suggestions in how I can get a stable Azure Docker Webapp setup and running with any sort of persisted storage - is there anyone else using Azure Blob Storage successfully?
-
Template editor line limit bug
The CodeMirror editor sometimes gets the line number limit incorrect, the following shows line 1-29 of my template yet the template is actually 84 lines long and the content area has plenty of room to show more lines ..
scrolling down a bit ..
the work around is to close the template editor and reopen it, so not a serious issue.
It was able to reproduce by creating a blank template and then copy-pasting in another completed template.
-
Javascript async/await warns with "Missing semicolon"
If I use "async/await" in Javascript the CodeMirror editor highlights it "i" as a warning with "Missing semicolon." on both the async and await lines
Example ..
Note, that the code does actually run without errors.
-
RE: Persistent Files corrupted via Azure Blob Storage plugin bug??
Hi Jan - yes it appears updating to 2.4.0 of the Docker image has fixed this issue - Thanks so much :)
-
RE: JsReport DockerHub image is not up to date
Doh - the reason I thought 2.3.0 was latest JsReport Docker is because the Overview tab on dockerhub shows 2.3.0, the Tags tab shows 2.4.0 released recently which I am updating to :)
-
RE: JsReport DockerHub image is not up to date
Ok, figured out how to install Github versions
npm i jsreport/jsreport-fs-store-azure-storage-persistence jsreport/jsreport-html-to-xlsx
-
JsReport DockerHub image is not up to date
I have been using most recent 2.3.0 Docker image of JsReport, love Docker, great way to distribute applications, also love JsReport, this blows away all the report engines I have used in the past.
Anyway, a couple of issues now indicate that this image is not using the same of JsReport that the "playground" runs.
Firstly in 2.3.0 the jsreport-fs-store-azure-storage-persistence plugin is v 1.0.3 which has a folder corruption bug which I believe has been fixed in 1.0.5
The html-to-xslx recipe in 2.3.0 doesn't support the "multiple sheets" feature shown in https://playground.jsreport.net/w/admin/Ds9ngUSx
if I run this sample without changes in my 2.3.0 docker image then I only get 1 sheet "Sheet 1" as shown ..
I tried to update my jsreport-fs-store-azure-storage-persistence using
npm i jsreport-fs-store-azure-storage-persistence
but it only installs 1.0.3 instead of the latest 1.0.5 on GithubWhen will 2.4.0 docker image be released (which hopefully includes all latest plugins) or how I can update my plugins to use the Github versions instead of npm repo?
Cheers
Steve
-
RE: Persistent Files corrupted via Azure Blob Storage plugin bug??
Additionally, it seems very reproducible as the undesired folders appear every time the Docker container is restarted.