716eeae4b1
Handle tasks that panic
2023-03-12 18:33:00 +01:00
10e01390b8
Allow customization of the pulling interval per queue
2023-03-12 17:15:40 +01:00
0f0a9c2238
Tasks are let run until completion
2023-03-12 15:52:13 +01:00
2964dc2b88
Wait all workers to stop gracefully
2023-03-12 00:18:15 +01:00
eed21d265d
Use slices where possible
2023-03-11 22:33:25 +01:00
4895400d33
Update readme
2023-03-11 22:22:25 +01:00
0fbc67052a
Don't generate default task unique hashes
2023-03-11 18:13:48 +01:00
894f928c01
Support generic backend to store tasks
2023-03-11 17:49:23 +01:00
fd92b25190
Make queues configurable
2023-03-11 16:38:32 +01:00
aac0b44c7f
Make possible to provide app state to tasks
2023-03-10 23:41:34 +01:00
7fcb63f75c
Update readme
2023-03-09 19:12:50 +01:00
61e566ed9f
Supports graceful shutdown
2023-03-09 16:59:45 +01:00
6ed9513baf
Update readme with backie info
2023-03-07 17:52:26 +01:00
c1fcc87885
Revamp project using newtype and rework tasks table
2023-03-07 16:41:20 +01:00
cb1ee8e854
Re-org project
2023-03-05 01:19:35 +01:00
18303be796
Make workers go brrrr...
2023-03-04 20:46:09 +01:00
0be173ef02
Support only async
2023-03-04 19:07:17 +01:00
Ayrat Badykov
a9c4faa338
Update crates ( #111 )
...
* update `diesel-derive-enum` from `2.0.0-rc.0` to `2.0.1`
* add CHANGELOG entry
2023-02-23 09:33:24 +02:00
Ayrat Badykov
3e4bf7ddb7
chore(lint): fix clippy warnings ( #109 )
...
fix clippy warnings
2023-02-03 20:41:14 +02:00
Pmarquez
01934e231f
Documenting worker pool ( #104 )
...
* Documenting worker pool
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* move comment to worker
* documenting blocking module
* Update src/asynk/async_worker.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker_pool.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/blocking/queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/blocking/queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_worker.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-12-22 15:38:56 +00:00
Ayrat Badykov
9b92a4a34e
Start documenting the project ( #96 )
...
* Start documenting the project
* Add AsyncQueue implementation
* Documenting Async runnable
* By default value in uniq function
* Fix errors and warnings async runnable docs
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* format something
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* uniq documentation
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* Update src/asynk/async_runnable.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
Co-authored-by: pxp9 <pepe.marquezromero@gmail.com>
Co-authored-by: Pmarquez <48651252+pxp9@users.noreply.github.com>
2022-10-18 08:30:17 +02:00
Ayrat Badykov
11a7dcc41e
update readme ( #95 )
2022-09-25 16:05:27 +03:00
Ayrat Badykov
19598d63cb
fix examples ( #94 )
2022-09-18 16:05:26 +03:00
Ayrat Badykov
7c0aa2fab9
Retries ( #92 )
...
* add retries and errors fields
* Exponential backoff
* async retries (#93 )
2022-09-17 19:39:47 +03:00
Pmarquez
fed5b9f363
Remove Task by uniq hash ( #90 )
...
* Change asynk remove_task API (just uuid needed)
* Add headers to traits
* Remove task by uniq hash (asynk module)
* Remove task by uniq hash (blocking module)
* Error if task is not uniq
* Rename to remove_task_by_metadata
* Testing remove by metadata query
2022-09-14 14:28:31 +03:00
Pmarquez
d3fc479b68
Docs improvement ( #80 )
...
* I little bit improve docs
* README
* disable tests for docs
2022-09-03 14:05:58 +03:00
Pmarquez
f2ca0c046d
Diesel and Uuid updated, it was not hard xd ( #78 )
2022-09-01 15:54:04 +00:00
pxp9
553f5f7de1
remove all scheduled tasks, necessary for El Monitorro bot
2022-09-01 01:01:15 +02:00
Pmarquez
b975e893e2
From db errors ( #77 )
...
* Re-work errors
* delete aliases
2022-08-31 17:45:13 +00:00
pxp9
076d89e866
export Runnable
2022-08-31 12:05:56 +02:00
Pmarquez
91f2fdf330
Update asynk.rs
2022-08-29 22:28:43 +02:00
Pmarquez
05632a48ce
Update blocking.rs
2022-08-29 22:27:22 +02:00
Pmarquez
ebe67a1e18
Update asynk.rs
2022-08-29 22:26:12 +02:00
Pmarquez
a0cb08ab53
Merge branch 'master' into ayrat555/change-schema
2022-08-29 20:24:06 +00:00
Pmarquez
360140d064
Blocking refactor ( #74 )
...
* Adapting code to new Fang tables structure and refactoring to make it more generic (Not finished)
* Refactoring of the blocking module
* Finishing blocking module, starting to modify tests
* Worker tests done, Queue tests left
* Maybe all tests done ??
* Makefile clippy
* Examples fixed
* asynk feature
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-08-29 16:59:22 +00:00
Pmarquez
dffee33b9c
Asynk change schema ( #75 )
...
* add uniq method for AsyncRunnable trait (#70 )
* add uniq method for asyncrunnable
* add hash enum
* remove string
* return bool values
* Task struct modified (#71 )
* Task struct modified
* asynk module try to adapt new scheme
* delete period in millis
* delete period in millis completed
* Cron support :D
* Cron and single Schedule support :D
* Current timestamp value
* fix bug and new test that confirms that it was a bug
* fix a call
* Update Cargo.toml
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* comments suggestions
* fix clippy
* Better user api for schedule with cron
* Cron tested with example
* Comments adressed
* Comments adressed
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-08-27 15:58:38 +00:00
Pmarquez
ccd900dbae
Mod model 2018 ( #73 )
...
mod model 2018
2022-08-23 17:39:06 +03:00
Pmarquez
1dc513c4a7
Sleep with Duration ( #67 )
...
* Sleep in millis
* SleepParams Duration :D
* Readme updated!
* Changing Schedule and SleepParams to std::time::Duration
* Millis period in Periodic tasks
* Readme!
* Error management
* period_in_millis i64
* fix clippy
2022-08-18 14:39:10 +03:00
Ayrat Badykov
32b12182e0
Set task_type when starting a worker pool ( #64 ) ( #66 )
...
* Set task_type when starting a worker pool (#64 )
* make queue fields public
* Set task_type when starting a worker pool
* make fields private again
* bump version
2022-08-16 13:25:19 +03:00
Ayrat Badykov
2bf660c9ee
fix Error struct export for asynk
( #61 )
...
* fix Error struct export for `asynk`
* fix imports in tests
* bump version
2022-08-05 10:06:32 +03:00
Ayrat Badykov
ead367d33f
Recover from panics draft ( #57 )
...
* Recover from panics draft
* Handling worker pool panics and Scheduler panics , fix clippy also
* Update src/asynk/async_scheduler.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
* add new task
Co-authored-by: pxp9 <48651252+pxp9@users.noreply.github.com>
2022-08-04 15:22:53 +00:00
Pmarquez
cf2ce19c97
Handle imports and dependencies ( #56 )
...
* imports, exports and README
* serde_json not necessay
* deleting tokio_postgres
* authors
* blocking example
* Update fang_examples/simple_async_worker/src/lib.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-08-03 08:37:53 +00:00
Pmarquez
140b19e6e4
Generic Worker Pool ( #55 )
...
* generic async worker pool !!
* cfg tests
2022-08-02 14:32:58 +00:00
Pmarquez
549f5a1c4b
Max number of conns ( #54 )
...
* Max number of conns
* fixing builder , connect and example
* fix comments
* fix comments
* Update src/asynk/async_queue.rs
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-08-01 19:37:32 +00:00
Pmarquez
785dc88b8f
configure workers ( #52 )
2022-08-01 16:55:36 +00:00
Pmarquez
7e66196373
Async Improvements AsyncRunnable param ( #51 )
...
* AsyncRunnable param in insert_task and insert_periodic_task
* fix example
2022-07-31 15:15:00 +00:00
Ayrat Badykov
133d142761
Async worker pool draft ( #49 )
...
* Async worker pool draft
* ignore all targets
* simple worker example
* add debug logs
* fix
* fix tests
* remove log
* remove debug logs
* fix clippy
2022-07-31 13:32:37 +00:00
Pmarquez
6222c15d99
Async scheduled tasks ( #47 )
...
* preparing queries for periodic tasks
* fixing clippy and some other things
* delete src/schema
* ignoring src/schema.rs
* fix compile error
* fix clippy
* Scheduler
* Scheduler done ??
* improve scheduler (#48 )
* improve scheduler
* add number of restarts
* fix clippy
* add into attribute
* make number of restarts pub
* fixing bugs and start async scheduler tests
* fixing insert periodic task bug and scheduler tests bug
* fix clippy
* fix clippy tests
* fix clippy tests again
* fix task type :D
* Builder AsyncQueueTest and sleep in start
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-07-31 11:40:24 +00:00
Pmarquez
2d724c3776
Async worker test ( #46 )
...
* preparing code to tests
* changing queue tests and starting worker tests with new struct AsyncQueueTest
* fix clippy and delete Debug trait
* fix warnings
* Get task by id in worker tests and AsyncQueueTest #[cfg(test)]
* Defaults and AsyncWorker Builder
* Testing :D
* Execute task specific type
* deleting Options and comment
* insert task is back git !!
* Test remove tasks and changing insert task auxiliar func
2022-07-27 17:05:05 +00:00
Pmarquez
8d0a23e2f9
Async Worker ( #44 )
...
* stating with async worker
* async sleep solve and update state test
* uncomenting line
* retention mode and sleep params in lib.rs
* fixing code style
* trying to solve
* dont like changes
* Add AsyncQueueable trait (#45 )
* add trait
* update runnable trait
* fix test
Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
2022-07-23 17:24:22 +03:00