617bd71bd1
Update readme with execution diagram
2023-03-18 16:26:12 +01:00
e1a8eeb7de
Use Queue type directly
2023-03-14 15:06:22 +01:00
aa1144e54f
Allow definition of custom error type
2023-03-13 17:46:59 +01:00
64e2315999
Review Queue signature
2023-03-13 14:11:19 +01:00
c99486eaa6
Make TaskStore trait object safe
2023-03-13 13:08:54 +01:00
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