Daniel García Aubert
e459494123
Be more accurate on query sleep times
2016-11-02 11:39:05 +01:00
Daniel García Aubert
aa1527b371
Use clear work-in-progress after finishing jobs
2016-10-28 15:58:41 +02:00
Daniel García Aubert
4a64d37c6c
Add work in progrees list endpoint
2016-10-28 15:08:42 +02:00
Daniel García Aubert
af75bbda50
Rename
2016-10-28 12:50:33 +02:00
Daniel García Aubert
1f657a4f94
Ensure test is isolated
2016-10-28 12:24:23 +02:00
Daniel García Aubert
0085b8ee3d
List users with work in progress jobs
2016-10-27 20:42:49 +02:00
Daniel García Aubert
f65208ba0d
Add listWorkInProgressJobByUser function
2016-10-27 18:43:28 +02:00
Daniel García Aubert
8f65e6b16c
Add test
2016-10-27 18:24:39 +02:00
Raul Ochoa
16e9e709b8
Cancel with user statement_timeout limit from redis
2016-10-21 14:35:24 +02:00
Raul Ochoa
7563868514
Re-insert into the tree if there was a user in done state that gets a new task
2016-10-21 11:42:27 +02:00
Raul Ochoa
62cfe974b7
Use constants for users
2016-10-21 11:10:17 +02:00
Raul Ochoa
66a1c33f96
Simplify listener subscription logic
...
Always remove pending listeners on acquire call.
Always register add and release listeners on acquire.
2016-10-20 23:47:39 +02:00
Raul Ochoa
e4d54e9ab7
Fix condition to pick next candidate
2016-10-20 20:16:57 +02:00
Raul Ochoa
80d2e190ad
Fix test, use fixed to replace one and infinity
2016-10-19 18:47:55 +02:00
Raul Ochoa
604e28533c
Fix and improve test
2016-10-19 16:58:57 +02:00
Raul Ochoa
372c9f5511
Basic test to test scheduler happy case
2016-10-19 16:57:10 +02:00
Raul Ochoa
5030fddc9c
Allow to override test client
2016-10-19 16:56:43 +02:00
Raul Ochoa
1ee0878631
Scheduler uses a red–black tree to decide on next job candidate
2016-10-19 16:55:49 +02:00
Raul Ochoa
2853c7b0a7
Fix status check
2016-10-19 10:36:27 +02:00
Raul Ochoa
1e490be0a1
Don't rely on batch.on(job:status)
2016-10-18 20:18:49 +02:00
Raul Ochoa
a29f847767
Don't rely on batch.on(job:status)
2016-10-18 20:05:57 +02:00
Raul Ochoa
a1400e956d
Don't rely on batch.on(job:status)
2016-10-18 20:01:11 +02:00
Raul Ochoa
66d1c18941
Default to 64 queued jobs as max
2016-10-17 15:23:53 +02:00
Raul Ochoa
cdde1be29e
Re-use redis pool as much as possible
2016-10-17 15:02:34 +02:00
Raul Ochoa
4dad54d004
Add test to validate query order by user
2016-10-17 12:33:49 +02:00
Raul Ochoa
b8a57460dc
Handle stop gracefully
2016-10-17 12:28:01 +02:00
Raul Ochoa
8b9a30eb75
Queue seeker was not _finding_ queues when only one present
2016-10-17 12:27:06 +02:00
Raul Ochoa
f6dc991ab5
Allow to override configuration per API call
2016-10-17 10:52:35 +02:00
Raul Ochoa
cb23b7f46c
Make test finish quicker
2016-10-17 10:52:07 +02:00
Raul Ochoa
5bb7d8fa1c
Merge branch 'master' into batch-user-queues
2016-10-14 12:33:37 +02:00
Raul Ochoa
b510a3684d
Add option to skip script downloading
2016-10-14 12:28:43 +02:00
Raul Ochoa
1e442b37ab
Allow to set a max number of queued jobs per user
2016-10-12 22:40:35 +02:00
Raul Ochoa
1f038ac1f4
Moves from host queues to user queues
...
- Existing jobs are moved before start processing them.
- Uses a new queue prefix to avoid collisions.
- Pub/Sub also changes communication channel.
- Job subscriber emits user+host on new jobs.
- Batch processor is faulty. See TODO in batch.js.
2016-10-12 21:32:29 +02:00
Raul Ochoa
aa68dff24b
Use constants for tests
2016-10-12 18:44:46 +02:00
Raul Ochoa
b86f82d3ca
Batch.stop removes all listeners
2016-10-12 16:43:18 +02:00
Raul Ochoa
c21f373291
Tests for locker
2016-10-12 13:15:55 +02:00
Raul Ochoa
167ecc6965
Set NODE_ENV environment var to test
2016-10-12 01:41:01 +02:00
Raul Ochoa
611508c654
Hide queue seeker behind job subscriber
2016-10-11 19:01:39 +02:00
Raul Ochoa
e4b1711e8e
pub/sub package
2016-10-11 18:28:46 +02:00
Raul Ochoa
f036e29b8f
Make test stable
2016-10-10 19:47:18 +02:00
Raul Ochoa
41d7823227
Drop table if exists
2016-10-10 19:46:53 +02:00
Raul Ochoa
a0ace8d034
Use name in test
2016-10-10 19:46:39 +02:00
Raul Ochoa
66820a67bb
Make possible to specify a name for batch
2016-10-10 19:46:07 +02:00
Raul Ochoa
f4950f73c0
Add test to validate multiple consumers query order scenario
2016-10-10 15:56:04 +02:00
Raul Ochoa
ece95afc95
Add test client to run plain queries
2016-10-10 15:37:46 +02:00
Raul Ochoa
46579093dd
Fix test scenario description
2016-10-10 15:37:19 +02:00
Raul Ochoa
8ac656492f
Move to support directory
2016-10-10 15:22:50 +02:00
Raul Ochoa
faa02a79b9
Test for 578c43b1a8
2016-10-10 15:17:05 +02:00
Raul Ochoa
8a4f54bb87
Allow users to set max statement_timeout for their queries
2016-10-10 12:01:36 +02:00
Raul Ochoa
2ac39b5748
Move all batch tests to their own directory
2016-10-06 11:53:56 +02:00
Raul Ochoa
b07e2d3de5
Merge pull request #346 from CartoDB/fix-batch-api-test
...
Removed duplicated config
2016-10-04 13:01:46 +02:00
Raul Ochoa
0e03bcd1d3
Delete table so suite ends clear
2016-09-26 18:28:15 +02:00
Raul Ochoa
2712d81d50
Remove unused server utils
2016-09-26 18:13:08 +02:00
Raul Ochoa
b29358a0ed
Remove old response from assert
2016-09-26 18:11:40 +02:00
Raul Ochoa
96fc32b24a
Concurrency test with assert.response
2016-09-26 18:10:09 +02:00
Raul Ochoa
1a20ca0bc3
Use listener for test
2016-09-26 18:09:50 +02:00
Raul Ochoa
abc2f130c9
Migrate to express 4.x series
...
- Remove express logger
- Error handler responds with application/[json|javascript]
- Fix all tests relying on res.headers
- assert.response based on request module
2016-09-26 18:09:27 +02:00
Raul Ochoa
a4aba62e9c
Fix name clash for err vars
2016-09-26 14:51:41 +02:00
Raul Ochoa
90e4600a6c
Rename vars to avoid name clash
2016-09-26 14:42:50 +02:00
Raul Ochoa
3dce6af20f
Remove unused param
2016-09-26 14:42:35 +02:00
Raul Ochoa
9bd240ef6c
Remove unused params
2016-09-26 14:42:24 +02:00
Raul Ochoa
26400342f3
Remove unused param
2016-09-26 14:42:14 +02:00
Raul Ochoa
c47dde1a29
Short hand method
2016-09-26 14:42:02 +02:00
Raul Ochoa
c9846a2437
Change callback signature in assert.response
2016-09-26 14:37:40 +02:00
Raul Ochoa
0d54604428
Remove setMaxListeners from tests
2016-09-14 21:24:22 +02:00
Raul Ochoa
84b80547c2
Remove settings' app_root
2016-09-14 21:02:56 +02:00
Raul Ochoa
f92d50cccf
Rename from app to server
...
Removes app_root dependency in requires
2016-09-14 20:54:53 +02:00
Daniel García Aubert
17411f2bb6
Avoids to delete empty keys
2016-09-12 16:00:33 +02:00
Raul Ochoa
461728d3e2
Remove user indexer
2016-08-30 19:08:06 +02:00
Raul Ochoa
20edddc721
Remove user indexer dependency from tests
2016-08-30 19:06:59 +02:00
Raul Ochoa
d33fe5ac21
Stop indexing jobs per user
...
Removes .list() from job backend
2016-08-30 19:01:23 +02:00
Raul Ochoa
05ada98124
Remove .list() from job service
2016-08-30 18:51:51 +02:00
Raul Ochoa
ba0f2f1066
Remove endpoint to retrieve jobs list
2016-08-30 18:49:01 +02:00
Raul Ochoa
4c8d734bbf
Remove update method from job service
2016-08-30 17:46:32 +02:00
Raul Ochoa
ad0d101bfd
Remove patch/put endpoints for jobs
2016-08-30 17:43:34 +02:00
Daniel García Aubert
085abb3446
Removed duplicated config
2016-08-01 11:48:11 +02:00
Daniel García Aubert
f3f45bb4e2
Fixed lint issues
2016-07-22 17:11:21 +02:00
Daniel García Aubert
587ab6a5d9
Extratcs redis clean method for batch keys
2016-07-22 17:05:01 +02:00
Daniel García Aubert
7fd5e42213
Removed timeouts for batch tests and skipped again a failing one in job callback template
2016-07-22 14:41:26 +02:00
Daniel García Aubert
2e8382eeff
Fixed issues in batch tests:
...
- Wait for batch is ready before testing it
- Remove batch keys in redis after testing every suit
- Fixed issue creating jobs with same id in job service integration test
2016-07-22 14:30:55 +02:00
Daniel García Aubert
438d61fb70
Set timeout to 30s
2016-07-20 19:50:28 +02:00
Daniel García Aubert
027e7b8768
Removed unused dependency
2016-07-20 19:42:53 +02:00
Daniel García Aubert
1625d8a556
Fixed timeout in job canceller test
2016-07-20 19:41:55 +02:00
Daniel García Aubert
457414c2fe
Skipping integration test
2016-07-20 18:27:54 +02:00
Daniel García Aubert
39a9f950b0
Added integration test for multiquery jobs
2016-07-20 16:38:57 +02:00
Daniel García Aubert
b33caf6126
Moved batch integration test to a separated folder
2016-07-19 19:56:12 +02:00
Daniel García Aubert
8d4dbd85df
Implmented integration tests for publisher, runner and canceller of batch service.
2016-07-19 19:42:49 +02:00
Daniel García Aubert
fe11828046
Implemented integration test for job service
2016-07-19 16:20:53 +02:00
Daniel García Aubert
2a4364142d
Added integration test for job backend
2016-07-19 13:08:52 +02:00
Daniel García Aubert
ddd5a0bd19
Added integration folder to tests
2016-07-18 14:49:57 +02:00
Daniel García Aubert
395635d246
Merge branch 'master' into fix-publisher-connection
2016-07-11 17:49:11 +02:00
Raul Ochoa
3ebbd9f7c4
Skip tables with no updated_at registered in cdb_tablemetadata
2016-07-11 16:39:12 +02:00
Daniel García Aubert
ccff602bbf
Merge branch 'master' into fix-publisher-connection
2016-07-07 16:07:41 +02:00
Raul Ochoa
368fe2403e
Allow to setup more than one domain to validate oauth against
2016-07-07 14:20:36 +02:00
Daniel García Aubert
5eaad4d5d9
Uses redis-mpool for pubsub in Batch API
2016-07-07 14:14:46 +02:00
Daniel García Aubert
74d83a457e
Now batch publisher sends a ping to server before publishing and create a new connection if error.
...
Batch publisher and subscriber logs (if debug enabled) both outcoming and incoming messages to give more visibility.
2016-07-07 10:44:17 +02:00
Raul Ochoa
63d3cd59e2
Skip test for travis
2016-06-30 20:02:43 +02:00
Raul Ochoa
b4ee2effbd
Fix line too long error
2016-06-30 19:49:34 +02:00
Raul Ochoa
b9af5e7846
Create table in before
2016-06-30 19:40:36 +02:00
Raul Ochoa
8a57a64961
Output actual response when it fails
2016-06-30 19:14:21 +02:00
Raul Ochoa
1f8f5e2c57
Use another name for test table
2016-06-30 19:12:45 +02:00
Raul Ochoa
dc5807b790
Do not validate expected output
2016-06-30 18:55:19 +02:00
Raul Ochoa
74964bc696
Be more clear about what is not matching
2016-06-30 18:31:58 +02:00
Raul Ochoa
51747879d6
Reorder tests
2016-06-30 18:16:52 +02:00
Raul Ochoa
be0f059f01
Add <%= job_id %>
template support for onerror and onsuccess fallback queries
2016-06-30 17:41:02 +02:00
Daniel García Aubert
a1f31df92e
Now Batch API broadcast to other APIs everytime that re-enqueues a multiple-query job
2016-06-29 18:29:53 +02:00
Raul Ochoa
85fa9d3c2b
Merge branch 'master' into batch-onerror-template
...
Conflicts:
NEWS.md
2016-06-29 16:25:05 +02:00
Raul Ochoa
a3117a2f01
Add <%= error_message %>
template support for onerror fallback queries
2016-06-29 14:22:23 +02:00
Raul Ochoa
1d8f5539a7
Adds start and end time for batch queries with fallback
2016-06-29 13:56:45 +02:00
Daniel García Aubert
c7a9f59320
Added CDB_OverviewsSupport as remote sql script in fixtrues
2016-06-22 16:38:30 +02:00
Daniel
58055080c9
Merge pull request #311 from CartoDB/309-skipped-status
...
Fixes #309 , added skipped status to fallback-jobs
2016-06-08 11:12:59 +02:00
Daniel García Aubert
2a2127f4e1
Improved falback job to get the status of last finished query
2016-06-02 18:20:53 +02:00
Raul Ochoa
299490f46f
Put all remote sql script together
2016-06-01 10:52:54 +02:00
Daniel García Aubert
481a82500b
Refactored fallback jobs
2016-06-01 10:39:01 +02:00
Raul Ochoa
5710d83908
Output postgresql server version
2016-06-01 10:25:16 +02:00
Daniel García Aubert
1a0e2b681b
Fixes #309 , added skipped status to fallback-jobs
2016-05-26 17:37:37 +02:00
Daniel García Aubert
e079491a7e
Fixed issue with status transition fallback jobs
2016-05-25 17:00:27 +02:00
Raul Ochoa
23228b2d73
Payload size validates multiple queries and fallback queries
...
It uses a middleware to check the body size
2016-05-24 14:28:00 +02:00
Daniel García Aubert
2d86fc2ce3
In fallback jobs, used fallback_status property instead of an array of statuses
2016-05-23 15:05:14 +02:00
Daniel García Aubert
052cb0796d
Modified fallback tests in order to use our custom assert.response
2016-05-20 14:42:53 +02:00
Daniel García Aubert
e04787a070
Fixed missing failed_reason
in failing jobs
2016-05-19 17:02:48 +02:00
Daniel García Aubert
cf7dff4696
Removed commented code
2016-05-19 14:13:54 +02:00
Daniel García Aubert
62c8a9d315
Refactor and fixed issue, when cancelling a fallback job, it is not cancelled properly
2016-05-19 14:10:18 +02:00
Daniel García Aubert
5c4ced34e6
Added acceptance test for job cancelling
2016-05-18 13:25:08 +02:00
Daniel García Aubert
b94a9c7c0a
Fixed conflicts
2016-05-18 11:48:39 +02:00
Daniel
8c8da8e39c
Merge pull request #301 from CartoDB/job-model-refactor
...
Job model refactor
2016-05-18 11:38:41 +02:00
Daniel García Aubert
6acc02e998
Improved fallback setStatus method and added acceptance test
2016-05-17 18:51:02 +02:00
Daniel García Aubert
b2eac6b880
Implemented test for fallback jobs
2016-05-17 01:00:27 +02:00
Daniel García Aubert
be3d9d2316
Fallback jobs WIP
2016-05-16 13:49:56 +02:00
Daniel García Aubert
d2d3ba8159
Passed tests
2016-05-16 01:22:47 +02:00
Raul Ochoa
4e3238c2e8
Fix control flow when using OGR with _needSRS=true and empty queries
...
Continue on empty results as srid and geom type are not critical
when there are no results
Fixes #299
2016-05-12 17:21:07 +02:00
Juan Ignacio Sánchez Lara
e979b79f49
gpkg format #291
2016-05-10 18:42:23 +02:00
Juan Ignacio Sánchez Lara
7b9911416b
geopackage export test #291
2016-05-10 18:01:50 +02:00
Juan Ignacio Sánchez Lara
c82cafb1ed
Geopackage format support #291
2016-04-27 16:56:06 +02:00
Daniel García Aubert
5de931daa5
Improver error message in job max payload limit.
2016-04-25 11:18:30 +02:00
Daniel García Aubert
832695031b
Improved tests for query size limit
2016-04-18 18:05:03 +02:00
Daniel García Aubert
1dcbb1afdf
Improved error message
2016-04-18 16:24:52 +02:00
Daniel García Aubert
790b9c6124
Fixed typos
2016-04-18 15:44:48 +02:00
Daniel García Aubert
7cc7482944
Implemented limit to query size in Batch API.
2016-04-18 15:30:16 +02:00
Daniel
423e729e11
Merge pull request #283 from CartoDB/batch-improve-startup
...
Improved initialization in Batch API
2016-04-05 15:46:21 +02:00
Daniel García Aubert
7121b3b800
Passed test
2016-04-04 20:05:58 +02:00
Daniel García Aubert
b62edcb64f
Refactored batch-api startup. Isolated code related to queue discovering, api much clear and concise.
2016-04-04 16:05:33 +02:00
dgaubert
e8a44136c5
Now Batch API looks for queues with jobs to consume at service initialization time
2016-03-31 17:37:35 +02:00
dgaubert
fd9bfe277e
Implemented multiquery jobs for Batch API
2016-03-31 12:39:03 +02:00
Daniel García Aubert
a32fa7b108
Implemented new test for multiquery jobs
2016-03-18 18:12:01 +01:00
Daniel García Aubert
056f22b156
Implemented multi-jobs, user is able to send an array of jobs and batch service will run them in series
2016-03-18 14:57:18 +01:00
Raul Ochoa
66cd1f400f
Skip query tables cache for authenticated requests
2016-03-10 19:20:56 +01:00
Alejandro Martínez
e100cfb584
Merge pull request #273 from CartoDB/new_querytables
...
Use node-cartodb-querytables library and add Surrogate-Keys
2016-03-08 15:33:04 +01:00
Raul Ochoa
5ebc8e43d5
Start hits=0 as first time is not a hit
2016-03-08 14:50:08 +01:00
Raul Ochoa
69fa13ab50
Do not track CDB_ sql function files
2016-03-08 14:09:15 +01:00