e8ec59dda8f903e81cb5cceaef93d20a0812fc77 |
|
01-Jul-2016 |
Eugen Kuksa <eugenk@informatik.uni-bremen.de> |
982 error this iri is already being processed (#1697)
* Add expiration parameter to Semaphore
After the expiration, the semaphore is unlocked. This allows dead
processes (e.g. by kill -9) to release the lock again.
* Namespace the redis semaphore at ontohub:semaphore.
* Code style.
* Code style: use class << self block.
* Add concurrency testing gem.
* Completely revamp Semaphore
* Put it into the same redis-namespace as sidekiq.
* Add method to check if a lock is closed.
* Namespace semaphores even deeper.
Checking if a lock is closed is not an atomic operation. To make it
atomic, we put the check into a mutexed part. In order to really exclude
the locking and unlocking from this mutexed check, these two operations
must be mutexed as well with the same key (LOCK_ACTION_KEY).
Unfortunately, using many threads/processes in an example makes the test
suite hang. This is because of celluloid. Maybe we can unskip the
example after upgrading to sidekiq 4 and dropping sidetiq.
* Add settings keys for Redis.
* Use redis namespace setting for Semaphore.
* Share redis connections between Sidekiq and Semaphore
When all connections are in use, any Redis call will block until a
connection is freed.
Sidekiq is now namespaced deeper in order to prevent conflicts with the
semaphore.
* Fix locked? and perform_exclusively signatures.
* Add lock and unlock methods.
* Use separate redis namespaces for our environments.
* Use Semaphore only if not testing
* Use Semaphore when parsing an Ontology
* Remove not needed method perform_async_on_queue.
* Refactor all the Worker classes for parsing
Now, all comes down to the new OntologyParsingWorker. It performs on a
queue of triples containing the version id, options for the version and
the try_count (number of the next parsing attempt).
If parsing a version fails, it is put back to the queue (at the end),
with an incremented try_count. If this happens too often for the same
version, it is given to the SequentialOntologyParsingWorker that only
parses one OntologyVersion at a time.
The OntologyParsingPriorityWorker is a more elegant way to use the
priotitized queue.
All the background parsing is now performed via the
OntologyParsingWorker or its subclasses.
* Be explicit about the namespace.
* Obey Hound. |
b193b60354ad3bef7d3783b3bf676a5641362358 |
|
09-Jul-2015 |
Eugen Kuksa <eugenk@informatik.uni-bremen.de> |
Remove git_home settings key. |
83fda1d7ef5feb39a07c88d231d2343e89057b98 |
|
05-Jul-2015 |
Eugen Kuksa <eugenk@informatik.uni-bremen.de> |
Add setting for sidekiq log level. |
250e5c1ec05ffb6d1b933f913c3c65934b206957 |
|
27-Apr-2015 |
Eugen Kuksa <eugenk@informatik.uni-bremen.de> |
Make Settings.paths.git_home configurable. |
7b8fe34340b2727bb31fe0be67fdf684e47c3609 |
|
02-Nov-2013 |
Tim Reddehase <robustus@rightsrestricted.com> |
Display HEAD-commit-id in footer for development. |
b27c7f227c8516589a2bd127c0f74338cf56f0b2 |
|
28-Oct-2013 |
Julian Kornberger <juliank@tzi.de> |
One step more towards SSH access |
43a0f914166a28a9d7f75ab10673dce129cb38a9 |
|
13-Apr-2013 |
Julian Kornberger <juliank@tzi.de> |
OOPS client and tests added. |
736e78aff9e67436c35d4835c24fca667f3cadf3 |
|
10-Apr-2013 |
Julian Kornberger <juliank@tzi.de> |
rails_config and exception_notification added |